Spring integration 通过spring集成使用多个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

这是该职位的延伸

在将消息发布到maprstream时,尝试实现sync属性时,我遇到了多个KafkaProducerMessageHandler的问题

@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的更新。是的,我做了如下更改,它成功了。。!!