我有一个生产者(Source
),它将消息写入 Kafka 输出 channel ,该生产者发送不同类型的对象。在消费者端(Sink
),我希望在同一输入 channel 上有多个@Streamlistener
方法,每个方法具有不同的参数类型,但目前它不起作用,我得到了“输入”的重复@StreamListener映射
。
这是我的消费者代码:
@StreamListener(Sink.INPUT)
public void on(PostUpvotedEvent event) {
}
@StreamListener(Sink.INPUT)
public void on(PostDownvotedEvent event) {
}
是否有比使用单个 @StreamListener
方法更好的解决方案来测试消息类型以选择要调用的方法?
最佳答案
现在不支持同一绑定(bind)元素上的多个@StreamListener
方法。最好支持这一点,就像您在入站 channel 上注册多个订阅者的情况一样。
请创建功能请求 here
关于java - Spring Cloud 流卡夫卡 : Duplicate @StreamListener mapping for 'input' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39924517/