0
我有一個生產者(Source
)寫消息到卡夫卡輸出通道,該生產者發送不同類型的對象。在消費者方面(Sink
)我想在同一個輸入通道上有多個@Streamlistener
方法,每種方法具有不同的參數類型,目前它不工作我得到Duplicate @StreamListener mapping for 'input'
。春天的雲流kafka:重複@StreamListener映射的'輸入'
這裏是我的消費者代碼:
@StreamListener(Sink.INPUT)
public void on(PostUpvotedEvent event) {
}
@StreamListener(Sink.INPUT)
public void on(PostDownvotedEvent event) {
}
有沒有更好的解決辦法做到這一點比具有單一@StreamListener
方法,這將考驗消息類型來選擇要調用哪個方法?
可以有這個原因當前不允許一些真正原因。我不確定。目前,基於StreamListener的'message handler'使用'map',其中包含每個可綁定元素的消息處理方法。在你的'輸入'綁定名稱的情況下,將會在該'map'中註冊單一處理程序方法。目前,「地圖」僅在上下文創建之前使用。讓我們看看我們如何從這裏採取這一點。 –