繁体   English   中英

在 KafkaListener 中使用并发属性创建的每个 kafka 消费者线程的预处理

[英]Pre-processing for each kafka consumer thread created with concurrency property in KafkaListener

我是第一次在 Spring Boot 应用程序中构建一个 kafka 消费者,所以请指导我提供资源或示例代码片段。

我的要求如下:

应用程序应该有 5-6 个消费者,即一个线程中每个消费者 1 个 -> 我可以使用@KafkaListener注释中的并发属性进行设置

在我的 kafka 消费者开始之前,我必须创建一些用于处理消息的对象,并且每个线程应该有一个新对象,因为它们在数据库中执行不同的写操作 - >请建议我如何实现这一点在@KafkaListener中设置并发属性?

如果我必须自己实例化线程,我会将这个对象初始化/预处理步骤放在 Runnable 接口的 run 方法中,但是在使用 spring-kafka 时如何做到这一点,即当一个新线程被初始化时由于concurrency属性,会自动调用一个方法(类似于Runnable接口的run方法)来做这个预处理。

您可以添加一个@EventListener方法来使用ConsumerStartedEvent

https://docs.spring.io/spring-kafka/docs/current/reference/html/#events

ConsumerStartingEvent - 在消费者线程第一次启动时发布,在它开始轮询之前。

https://docs.spring.io/spring-kafka/docs/current/reference/html/#event-consumption

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM