如何使用spring-kafka框架将对象列表发送到kafka主题?

时间:2019-06-20 13:36:35

标签: java spring-boot apache-kafka kafka-producer-api spring-kafka

我在spring-boot应用程序中使用spring-kafka发送数据主题。 我需要从oracle表中获取数据并发送。

我从oracle表中获取列表。如何将其发送给主题?

  1. 是否可以将它们作为列表发送?如果是,怎么办? 如果是,那么如何在消费者端反序列化它?

  2. 是否可以使用spring-book和spring-kafka以流式方式发送数据?如果是,则更多信息或样本/摘录...

如果我一次发送列表,如何处理partitionKey?

当前我要发送单个公司obj,因此其密钥定义如下

companyKafkaTemplate.send(COMPANY_TOPIC,this.getKey(company), company);

1 个答案:

答案 0 :(得分:1)

对于List的序列化和反序列化,我建议在Spring Kafka中使用JSON支持:https://docs.spring.io/spring-kafka/docs/2.2.7.RELEASE/reference/html/#serdes

对于,我建议根据Reactor Kafka项目:https://github.com/reactor/reactor-kafka

来看一下Spring Kafka中的Reactive支持。

为此,我们提供了ReactiveKafkaProducerTemplateReactiveKafkaConsumerTemplate