spring集成tcp客户端发送简单消息



我一直在使用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的文档
我想我必须使用tcp-outbound-channel-adaptergateway来发送消息。但我想知道如何使用它;我应该调用什么方法。我不应该收到任何来自服务器的消息。

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

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);
}
}

最新更新