Java 组属性在spring stream云中不工作?
我使用SpringStream云来消费卡夫卡上的消息。 当卡夫卡上的信息产生时,所有的消费者都点击了 但是卡夫卡的文件说,通过使用组 只有一个消费者使用消息 这是我的消费代码Java 组属性在spring stream云中不工作?,java,spring-boot,apache-kafka,spring-cloud,spring-cloud-stream,Java,Spring Boot,Apache Kafka,Spring Cloud,Spring Cloud Stream,我使用SpringStream云来消费卡夫卡上的消息。 当卡夫卡上的信息产生时,所有的消费者都点击了 但是卡夫卡的文件说,通过使用组 只有一个消费者使用消息 这是我的消费代码 @EnableBinding(Sink.class) public class Consumer2 { @StreamListener(target = Sink.INPUT) public void consume(String message) { System.out.print
@EnableBinding(Sink.class)
public class Consumer2 {
@StreamListener(target = Sink.INPUT)
public void consume(String message) {
System.out.println("33333");
}
@StreamListener(target = Sink.INPUT)
public void consume1(String message) {
System.out.println("444444");
}
}
}
这是我的配置
但我的两种方法都称为:(
使用该配置,您只有1个使用者
(SINK.INPUT)
,而不是2个使用者(@StreamListener
不是使用者,它是处理入站消息的模型)
这就是为什么spring将入站消息路由到具有相同接收器的两个
@StreamListener
注释。在一个实例组中没有影响
当运行应用程序的多个实例时,每次输入通道中有新消息时,都会通知所有订户
大多数情况下,我们只需要对消息进行一次处理。Spring Cloud Stream通过消费群体实现此行为
要启用此行为,每个使用者绑定都可以使用spring.cloud.stream.bindings..group属性指定组名:
第5.4节
spring:
cloud:
stream:
default-binder: kafka
kafka:
binder:
brokers:
- localhost:9092
bindings:
input:
binder: kafka
destination: abbas
content-type: text/plain
group: input-group-1
output:
binder: kafka
destination: abbas
group: output-group-1
content-type: text/plain