我有一个主题名“user”,其中userid将被删除,我想阅读这个主题并处理下面的功能
1. process user leave data
2. process user salary data
我想让两个侦听器指向同一个主题,读取同一个用户id并并行启动处理。
@KafkaListener(topics = "${kafka.topic.user}",group="abc"))
public void receive(String message) {
userService.processLeave(message);
}
@KafkaListener(topics = "${kafka.topic.user}",group="abc1"))
public void receive1(String message) {
userService.processPayRoll(message);
}
但我一直看到,processpayroll总是被调用。
我错过了什么?
1条答案
按热度按时间xsuvu9jc1#
嗯,看起来你用的是老版的SpringKafka。
不幸的是
group
与消费者的group.id
. 就是这样containerGroup
用于生命周期管理。您应该考虑配置不同的
KafkaMessageListenerContainer
基于不同的用户配置。在那里你已经可以配置不同的ConsumerConfig.GROUP_ID_CONFIG
.最新的版本有
@KafkaListener
结构如下: