什么相当于java config中的<tcp-outbound-channel-adapter>?</tcp-outbound-channel-adapter>

时间:2015-03-03 08:24:34

标签: java spring spring-integration spring-java-config

我有以下bean的Spring集成XML配置

<int-ip:tcp-outbound-channel-adapter id="outboundClient"
channel="input"
connection-factory="client"/>

我认为java配置中的等价物是

@ServiceActivator(inputChannel = "input", requiresReply = "true")
public TcpSendingMessageHandler outboundClient() {
    TcpSendingMessageHandler tcpSendingMessageHandler = new TcpSendingMessageHandler();
    tcpSendingMessageHandler.setConnectionFactory(clientConnectionFactory());
    tcpSendingMessageHandler.setRetryInterval(10000);
    tcpSendingMessageHandler.setClientMode(true);
    return tcpSendingMessageHandler;
}

但是,在日志中,我看到了

TcpListener exiting - no listener and not single use

我无法收到服务器的回复。

感谢任何帮助

1 个答案:

答案 0 :(得分:3)

TcpSendingMessageHandler用于单向用法 - 仅用于向TCP套接字发送消息。

所以,你的配置看起来很好,对我来说它应该有效。

  

退出TcpListener - 没有监听器而不是单独使用

仅来自DEBUG的{​​{1}}消息,表明您的组件为TcpNetConnection

因此,您无法从服务器收到回复是正常的。因为你只向那里发送消息。

让[{1}}个方案考虑使用TcpOutboundGateway