java - 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-adapter
orgateway
来发送消息。但我想知道如何使用它;我应该调用什么方法。我不应该从服务器接收任何消息。
解决方案
我找到了解决方案。我不需要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);
}
}
推荐阅读
- java - Java - 使用不相等对象的“while”>>不起作用
- python - PyQt5打开新窗口w / if else
- azure - Azure 数据工厂 - 选择转换中没有输出 - 映射数据流
- reactjs - 无法使用reactjs仅显示一个对象的数组
- java - 使用 Kotlin 在 android studio 中投影效果
- java - 将批量用户从本地数据库上传到 JAVA 中的 azure b2c 活动目录
- django - 如何使用 Django 在 PostgreSQL 中存储一个非常大的对象
- mysql - 如何查看 django bulk_update/bulk_create 查询?
- ios - DispatchSourceTimer 在 deinit/dealloc 中崩溃
- azure - 将本地 Ubuntu VirtualBox VM 连接到企业网络服务