0
我使用的春天雲流,並面臨着一個問題,當我使用InboundChannelAdapter返回類型爲MessageSource的,則表現得像一個單獨的類不同的行爲,它在每1秒的運行並將相同的數據發送給消費者。此外,記錄器在應用程序啓動時僅打印出一次。春數據流InboundChannelAdapter有不同的返回類型
@InboundChannelAdapter(value = Source.OUTPUT, poller = @Poller(fixedDelay = "1000", maxMessagesPerPoll = "1"))
public MessageSource<String> uuidSource() {
UuidCaller uuidCaller = new UuidCaller(atomicLong.addAndGet(1), new Date(), UUID.randomUUID().toString());
logger.info("buid request:"+uuidCaller);
return() -> MessageBuilder.withPayload(uuidCaller.toString()).build();
}
,但在那裏我已經更改爲MessageSource的簡單轉換爲字符串類型,那麼它的做工精細
InboundChannelAdapter(value = Source.OUTPUT, poller = @Poller(fixedDelay = "1000", maxMessagesPerPoll = "1"))
public String uuidSource() {
UuidCaller uuidCaller = new UuidCaller(atomicLong.addAndGet(1), new Date(), UUID.randomUUID().toString());
logger.info("build request:"+uuidCaller);
return uuidCaller.toString();
}
它發送給消費者更新的數據,也打印更新日誌中的每一秒。
所以我的問題是爲什麼不同的返回類型的行爲不同?
您好灰色,感謝您的回覆,我已經加入@Bean上的MessageSource,但它仍然是在每1秒發送UuidCaller的單個副本(如單身),而不是印刷任何東西(日誌)。 你能否寫下我如何將UUID移動到lambda(例如代碼)中。 謝謝! – Baba
謝謝先生。我是春季隊的忠實粉絲。感謝您的寶貴迴應。 – Baba