我有一个生产者(Source
),它将消息写到Kafka输出通道,该生产者发送不同类型的对象。在使用者方面(Sink
),我想在同一输入通道上使用多个@Streamlistener
方法,每个方法具有不同的参数类型,并且目前无法正常工作,我得到了Duplicate @StreamListener mapping for 'input'
。
这是我的消费者代码:
@StreamListener(Sink.INPUT)
public void on(PostUpvotedEvent event) {
}
@StreamListener(Sink.INPUT)
public void on(PostDownvotedEvent event) {
}
是否有比使用单个
@StreamListener
方法更好的解决方案,该方法将测试消息类型以选择要调用的方法? 最佳答案
现在不支持同一绑定元素上的多个@StreamListener
方法。最好像在您的情况下那样在入站通道上注册多个订户来支持此操作。
请创建功能请求here