【发布时间】:2021-07-06 14:29:10
【问题描述】:
我是 KAFKA 的新手,需要帮助
我有 2 个应用程序(springboot),它们是相同的/仅具有不同端口的副本。 http://localhost:8080/ http://localhost:8081/
他们都是消费者
两人听话题XXX
我还有一个APP,扮演制作人的角色。
每当我向主题 XXX 发送内容时。
其中只有一个会使用该消息,而另一个则不会。
我已经单独测试了两个,如果他们单独听,他们会正常听,但如果他们一起听,只有他们中的一个会听。
我正在使用
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-stream-binder-kafka</artifactId>
<version>3.0.0.RELEASE</version>
</dependency>
spring.cloud.stream.kafka.binder.autoCreateTopics=true
spring.cloud.stream.kafka.binder.headers=type
spring.cloud.stream.kafka.default.consumer.ackEachRecord=true
spring.cloud.stream.kafka.default.consumer.enableDlq=true
spring.cloud.stream.kafka.default.consumer.standardHeaders=both
spring.cloud.stream.kafka.default.consumer.dlqName=api***.d**.api***
我的听众
@StreamListener(target=SomeString.TOPIC, condition = "headers['type']=='***' or headers['type']=='***'")
public void handle(GenericMessage<String> message) throws BusinessException {
***
}
【问题讨论】:
标签: apache-kafka kafka-consumer-api spring-kafka spring-cloud-stream-binder-kafka