gpt4 book ai didi

java - 如何在Spring Boot中调用具有相同主题的两个KafkaListener?

转载 作者:行者123 更新时间:2023-12-01 16:39:32 24 4
gpt4 key购买 nike

我想使用相同的主题配置调用两个不同的方法。

假设我有 Consumer 项目,它有两个不同的类,具有相同的 kafkalistener 方法。

A 类的方法 1:

@KafkaListener(topics = "vijay", groupId = "group_id")
public void consumeMethodOne(String jsonString) {
System.out.println("ConsumerPrice1-->"+jsonString);
}

B类的方法2:

@KafkaListener(topics = "vijay", groupId = "group_id")
public void consumeMethodTwo(String jsonString) {
System.out.println("ConsumerPrice1-->"+jsonString);
}

还有我的制作人:

@Autowired
private KafkaTemplate<String, String> kafkaTemplate;
public void send(String value) {
kafkaTemplate.send("vijay", "This is testing producer");
}

当我运行这个程序时,只执行一个方法,所以如果我想执行这两种方法,因为它们都有相同的主题,那么我该如何设置?

最佳答案

消费者组是一种对主题的消费者进行负载平衡的方式。如果同一组中有两个消费者(在您的情况下为“group_id”),则每次只有其中一个消费者会消费一条消息。通常,这就像消费者的应用程序 ID,用于扩展消费者。

但是,如果您想要两个消费者并且都使用相同的消息,您可以通过为他们提供两个不同的组 ID 来实现。

@KafkaListener(topics = "vijay", groupId = "group_id2")
public void consumeMethodTwo(String jsonString) {
System.out.println("ConsumerPrice1-->"+jsonString);
}

关于java - 如何在Spring Boot中调用具有相同主题的两个KafkaListener?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61891857/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com