Java 如何在Vertx Kafka客户端中使用自定义序列化程序?
我有以下卡夫卡制作人属性Java 如何在Vertx Kafka客户端中使用自定义序列化程序?,java,apache-kafka,vert.x,Java,Apache Kafka,Vert.x,我有以下卡夫卡制作人属性 value.serializer=MyEventSerializer value.deserializer=MyEventDeserializer default.value.serde=MyEventSerde 我已经在 并使用 KafkaProducer<String, MyEvent> producer = KafkaProducer.create(vertx, configProperties, String.class, MyEvent.clas
value.serializer=MyEventSerializer
value.deserializer=MyEventDeserializer
default.value.serde=MyEventSerde
我已经在
并使用
KafkaProducer<String, MyEvent> producer = KafkaProducer.create(vertx, configProperties, String.class, MyEvent.class);
有没有办法在Vertx kafka客户端中使用自定义序列化程序?我必须手动完成KafkaProducer.create所做的工作
根据这些规则,您需要为序列化程序提供完整的类名docs@cricket_007它们只在默认包中。通常最好不要将代码留在默认包中。
SEVERE: Unknown class for built-in
serializer. Supported types are: String, Short, Integer, Long, Float, Double, ByteArray, ByteBuffer, Bytes
java.lang.IllegalArgumentException: Unknown class for built-in serializer. Supported types are: String, Short, Integer, Long, Float, Double, ByteArray, ByteBuffer, Bytes
Serializer<String> keySerializer = VertxSerdes.serdeFrom(String.class).serializer();
Serializer<MyEvent> valueSerializer = new MyEventSerializer();
KafkaWriteStream<String, MyEvent> stream = new KafkaWriteStreamImpl(vertx.getOrCreateContext(), new org.apache.kafka.clients.producer.KafkaProducer(configProperties, keySerializer, valueSerializer));
KafkaProducer<String,MyEvent> producer=(new KafkaProducerImpl(stream)).registerCloseHook();
KafkaProducerRecord producerRecord= KafkaProducerRecord.create(topicName,key,value);
producer.write(producerRecord, done -> {
if (done.succeeded()) {
// TODO if succeeded
} else {
// TODO if failed
}
});