簡體   English   中英

如何關閉spring整合渠道?

[英]How to close spring integration channel?

我有一個帶有Spring Integration和輸入/輸出通道的項目。 問題出在配置的最后一部分

 <int:transformer id="testTransformer"  input-channel="inChannel" method="processor"
        output-channel="outChannel">
            <bean class="someClass"/>
        </int:transformer>

它給我一個錯誤

failure occurred in gateway sendAndReceive: No reply produced by handler 'testTransformer', and its 'requiresReply' property is set to true

我了解這與我的outputChannel未初始化有關,那么如何正確使程序完成?

處理程序“ testTransformer”未產生任何答復,並且其“ requiresReply”屬性設置為true

這意味着transformer組件嚴格地是請求-應答,並且肯定必須返回某些內容。

這不是配置問題,而是someClass.processor()方法中的邏輯。 重新考慮它返回任何有價值的東西,而不是null

如果根據您的邏輯可能為null ,並且在流程中以某種方式進行管理,請考慮切換到service-activator 這個響應的要求不是很嚴格,可以返回null 但是同時您應該記住,流程恰好在這里停止。 null對於消息傳遞是無效的,並且是一個指示符,由於不再有任何payload ,因此它會停止處理。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM