在我的Sping Boot Kafka发布应用程序中,我希望提供对以String(JSON)或字节格式发布消息的支持,因为我希望同时提供对JSON和Avro的支持。但是Kafka template在spring Boot 中让我们只定义其中一个模板。有没有一种方法可以同时使用这两个模板,或者有没有其他方法可以同时支持json和avro?KafkaTemplate<String, String>
只适用于字符串,但我也想发布avro,它应该是类似KafkaTemplate<String, byte[]>
的东西
3条答案
按热度按时间kupeojn61#
您可以尝试使用不同的模板创建KafkaTemplate:
b5lpy0ml2#
您可以创建Kafka配置。我不得不将数据发送到两个不同的服务器。
g6ll5ycj3#
只是延伸了@i.bondarenko的答案
如果你想从属性文件中配置所有的属性,那么你可以编写自己的自定义Kafka配置来支持多个生产者配置,比如:
从类文件读取配置:-
使用此配置为每个使用
@Qualifier
注解的生产者生成KafkaTemplate
bean并使用这些
KafkaTemplate
bean将消息发布到不同的生产者配置。请参考https://codingnconcepts.com/spring-boot/configure-multiple-kafka-producer/的帖子以获得详细解释。