Spring Integration TCP客户端发送简单消息

时间:2018-07-28 10:15:17

标签: java spring tcp tcp-ip spring-integration-ip

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

applicationContext.xml

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

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

...

bean配置:

@Configuration
public class MyConfiguration{

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

我已经阅读了有关spring tcp here的所有文档。
我想我必须使用tcp-outbound-channel-adaptergateway来发送消息。但我想知道如何使用它;我应该调用什么方法。我不应该收到来自服务器的任何消息。

1 个答案:

答案 0 :(得分:1)

我找到了解决方案。我不需要gateway。春季消息传递gateway旨在实现请求-响应方案。因此,我唯一需要做的就是发送消息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);
   }
}