我是spring-integration的新手,想要了解如何使用Spring Integration实现以下场景。
我正在尝试创建一个分布式应用程序,它将具有多个节点(如在群集中),具有以下要求。
- 我需要通过TCP / IP实现基于请求/回复的消息传递 - 我不想要使用消息代理(例如ActiveMQ) - 我打算使用SI提供的TCP入站和出站网关。
我不确定SI如何帮助我实现以下目标 - 当多个客户端连接到同一服务器端TCP入站网关时,请求/应答关联如何工作? - 我了解在通过TCP / IP发送消息时消息标题被剥离,解决方法是什么? - 这种方法是否可行? :(
谢谢你 的Sandip
答案 0 :(得分:6)
如果您使用网关,框架将为您处理相关性。
这里有一个示例显示...
https://github.com/SpringSource/spring-integration-samples
(参见basic / tcp-client-server)。
参考手册中有关于消息关联的讨论......
如果您需要使用适配器而不是网关(因为您需要异步消息传递或者不能满足网关的某些性能限制),那么您需要将相关数据添加到消息有效负载中。
我们有一个开放的JIRA问题
https://jira.springsource.org/browse/INT-1807
允许通过TCP传输一些标头。但是,由于没有自然标准的方法来执行此操作,因此它可能仅适用于SI到SI通信(或者需要在对等方上使用自定义代码)。我们可能会在2.2中有这个。里程碑很快。投票吧!
希望有所帮助。
更新:3.0 release支持将选定的标头添加到TCP消息中。