[英]How to call both Kafkalistener with same Topic in spring boot?
我想用相同的主题配置调用两种不同的方法。
假设我有一个消费者项目,它有两个不同的类,具有相同的 kafkalistener 方法。
使用 class A 的方法 1:
@KafkaListener(topics = "vijay", groupId = "group_id")
public void consumeMethodOne(String jsonString) {
System.out.println("ConsumerPrice1-->"+jsonString);
}
使用 class 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);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.