首页 > 解决方案 > spring 集成 tcp 客户端发送简单消息

问题描述

我一直在使用 spring 框架 4 开发一个项目。我正在尝试通过spring-integration-ip库创建一个简单的 TCP 客户端。我调整了所有配置:

应用程序上下文.xml

...
<int:channel id="tcpChannel" />

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

...

豆配置:

@Configuration
public class MyConfiguration{

   @Bean
   public AbstractClientConnectionFactory tcpConnectionFactory() { 
       return new TcpNetClientConnectionFactory("localhost", 2345);
   }
} 

我在这里阅读了有关 spring tcp 的所有文档。
我想我必须使用 tcp-outbound-channel-adapterorgateway来发送消息。但我想知道如何使用它;我应该调用什么方法。我不应该从服务器接收任何消息。

标签: javaspringtcptcp-ipspring-integration-ip

解决方案


我找到了解决方案。我不需要gateway。spring messagesgateway被设计用来实现请求-响应场景。所以我唯一需要做的就是发送消息 vi channel。也许有一些更好的解决方案。

import org.springframework.integration.support.MessageBuilder;
import org.springframework.messaging.MessageChannel;

public class MyOwnService{

   @Inject
   private MessageChannel channel;

   public void someMethod(String message){
      Message<String> m = MessageBuilder.withPayload(message).build();
      channel.send(m);
   }
}

推荐阅读