java - Java 配置中的 <tcp-outbound-channel-adapter> 是什么?

标签 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

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

感谢任何帮助

最佳答案

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

所以,您的配置看起来不错,对我来说应该可以。

TcpListener exiting - no listener and not single use

只是来自 TcpNetConnectionDEBUG 消息,表明您的组件是单向

所以收不到服务器的回复是正常的。因为您只向那里发送消息。

要有请求/回复场景考虑使用TcpOutboundGateway .

关于java - Java 配置中的 <tcp-outbound-channel-adapter> 是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28827096/

相关文章:

java - 比较数组中对象的变量?

java - JSR 303 自定义约束覆盖

spring - gradle包org.springframework.test.context不存在

Java NIO 路径 : getting the base path from a full path?

java - 解析InputStream "on the fly"/重用InputStream

java - 如何在Spring WebClient中拦截http流量?

java - 如何使用多个 Facebook 帐户登录?

java - 使用 MockRestServiceServer 测试 HttpRequestExecutingMessageHandler

spring 集成 TCP TLS 客户端身份验证

java - spring http出站网关定制