2015-05-18 38 views
1

我的理解是,TcpOutboundGateway是關聯tcp請求和響應,但我不知道如何使用它。什麼是TcpOutboundGateway連接到傳統服務器使用相關消息的正確方法

下面的代碼段通過TcpOutboundGateway發送一條消息來與遺留系統進行通信。

message = new GenericMessage("ccs?cmd=5&itm="+(16600+t)+"&rf=2"); 
Test.sendChannel.send(message); // sendChannel is a DirectChannel. 
//Blocks here until reply comes in (in single use and cached) 

而且我有一個端點,以處理響應:

@ServiceActivator(inputChannel = "replyChannel") 
public void handleReply(byte[] rawRes) { 
    // handle the reply. 
} 

handleReply(...)需要提供的上下文在代碼或反之亦然發送點。使用Threadlocal傳遞一個上下文到處理程序將會工作(在這種情況下),但似乎是一個壞主意。我已經看過這些例子,但它們看起來與我的代碼相當不同(我想因爲我使用的是Spring引導),所以提前道歉 - 我相信我忽略了這些明顯的,但是會感謝一些幫助。

回答

0

對於requestMessagereplyMessage,您可以在MessageHeaders內攜帶上下文,並且將從請求中提供標頭。

對於replyChannel上的POJO處理函數,您可以添加一個方法參數@Header("myContext")

相關問題