[英]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.