什么是<;tcp出站通道适配器>;在java配置中?
我有spring集成XML配置和以下bean什么是<;tcp出站通道适配器>;在java配置中?,java,spring,spring-integration,spring-java-config,Java,Spring,Spring Integration,Spring Java Config,我有spring集成XML配置和以下bean <int-ip:tcp-outbound-channel-adapter id="outboundClient" channel="input" connection-factory="client"/> 然而,在日志中,我看到 TcpListener exiting - no listener and not single use 我无法收到服务器的回复 非常感谢您提供的任何帮助。TcpSendingMessageHandler仅供
<int-ip:tcp-outbound-channel-adapter id="outboundClient"
channel="input"
connection-factory="client"/>
然而,在日志中,我看到
TcpListener exiting - no listener and not single use
我无法收到服务器的回复
非常感谢您提供的任何帮助。
TcpSendingMessageHandler
仅供单向使用-仅用于向TCP套接字发送消息
所以,你的配置看起来不错,对我来说应该可以用
TcpListener正在退出-无侦听器且不能一次性使用
只是来自TcpNetConnection
的DEBUG
消息,表明您的组件是单向的
因此,您无法从服务器收到回复是正常的。因为你只向那里发送信息
有<代码>请求/回复< /代码>场景考虑使用.< /p>谢谢。然而,在spring集成文档中提到:
网关将自动关联消息。但是,出站网关应仅用于相对较低的容量使用。因此,对于大容量消息,考虑使用一对协作的信道适配器。但是,您需要提供协作逻辑。
和?没错。要从服务器接收消息,必须添加
。注意:只接受。因此,他们正是合作的一对。但是是的,它们不是自动关联逻辑,因此您应该自己支持它。所以我把入站通道适配器放在这里,但是我没有可用的输出通道或replyChannel头。报头是否也被序列化并通过网络发送?是的,这是可能的:
()但即使仅此一项也不起作用,因为TCP没有标准的方式来传输报头;您需要将它们添加到消息负载中。我们确实提供了一个解决方案,但只有当另一方也是Spring集成(或者理解头并在回复中返回它们)时,它才起作用。解决网关性能问题的另一种方法是使用。
TcpListener exiting - no listener and not single use