Spring integration 通过spring集成使用多个KafkaProducerMessageHandler时出现问题
这是该职位的延伸 在将消息发布到maprstream时,尝试实现sync属性时,我遇到了多个KafkaProducerMessageHandler的问题Spring integration 通过spring集成使用多个KafkaProducerMessageHandler时出现问题,spring-integration,kafka-producer-api,spring-kafka,mapr-streams,Spring Integration,Kafka Producer Api,Spring Kafka,Mapr Streams,这是该职位的延伸 在将消息发布到maprstream时,尝试实现sync属性时,我遇到了多个KafkaProducerMessageHandler的问题 @Autowired Qualifier("abcHandler.handler") private KafkaProducerMessageHandler abcHandler; @Autowired Qualifier("xyzHandler.handler") private KafkaProducerMessageHandler xy
@Autowired
Qualifier("abcHandler.handler")
private KafkaProducerMessageHandler abcHandler;
@Autowired
Qualifier("xyzHandler.handler")
private KafkaProducerMessageHandler xyzHandler;
@PostConstruct
public void init() {
this.abcHandler.setSync(true);
this.xyzHandler.setSync(true);
}
Bean配置:
<int:chain input-channel="inputToKafka">
<int-kafka:outbound-channel-adapter
id="abcHandler"
kafka-template="template"
topic="${maprstream.stream.topicname}" >
</int-kafka:outbound-channel-adapter>
</int:chain>
<int:chain input-channel="inputToKafka1">
<int-kafka:outbound-channel-adapter
id="xyzHandler"
kafka-template="template1"
topic="${maprstream.stream.topicname1}" >
</int-kafka:outbound-channel-adapter>
</int:chain>
我在尝试加载bean时遇到以下异常
上下文初始化期间遇到异常-取消刷新尝试:org.springframework.beans.factory.UnsatisfiedDependencyException:
创建名为“maprStreamProducerHandlerSync”的bean时出错:通过字段“abcHandler”表示的未满足的依赖关系;
嵌套的异常是org.springframework.beans.factory.NoSuchBeanDefinitionException:没有类型为的符合条件的bean
“org.springframework.integration.kafka.outbound.KafkaProducerMessageHandler”可用:至少需要1个符合autowire候选资格的bean。
依赖项注释:{@org.springframework.beans.factory.annotation.Autowired(required=true),
@org.springframework.beans.factory.annotation.Qualifier(value=abcHandler.handler)}
有人能帮我吗?为什么在
s中有这些单一组件?链通常用于对多个元素进行分组
看;向下滚动到'id'属性`
<int:chain id="chain1" input-channel="inputToKafka">
<int-kafka:outbound-channel-adapter
id="abcHandler"
kafka-template="template"
topic="${maprstream.stream.topicname}" >
</int-kafka:outbound-channel-adapter>
</int:chain>
链中的组件获得复合bean名称。在本例中,它将是
chain1$child.abcHandler.handler
。自动接线时,如果有多个适配器,则需要在限定符中使用此值。谢谢Gary的更新。是的,我做了如下更改,它成功了。。!!