2015-04-08 106 views
3

我使用spring-integration到客戶端連接到使用下列組件的服務器socket如何將客戶端連接到多個服務器套接字?

DirectChannel 
TcpConnectionFactoryFactoryBean 
TcpOutboundGateway 
@MessagingGateway 

問題:TcpConnectionFactoryFactoryBean被綁定到特定的套接字端口。我想將客戶端連接到多個服務器套接字。

我怎麼能做到這一點?這可能嗎?

回答

3

一個TCP連接,勢必以下參數:

  • 源地址
  • 源端口
  • 遠程地址
  • 遠程端口

我認爲這是不打算提供可能會通過一個套接字創建一對多連接,因爲這會違反TCP定義。

Wiki-Article for TCP

因此,解決辦法是創建多個插槽,各持一個連接到不同的服務器。

1

正確。每個服務器/端口都需要一個單獨的連接工廠。

Spring集成中沒有任何機制爲每條消息動態選擇一個TCP主機/端口。

這種機制可能需要緩存連接以避免爲每個請求打開一個新的套接字。隨意打開一個新的功能JIRA問題,我們會考慮將來的版本。

+0

好的,我的建議如下:https://jira.spring.io/browse/INT-3694 – membersound