3

我是 spring-integration 的新手,想了解如何使用 Spring Integration 实现以下场景。

我正在尝试创建一个分布式应用程序,该应用程序将具有多个节点(如集群中),并具有以下要求。

-我需要通过 TCP/IP 实现基于请求/回复的消息传递。
-我不想使用消息代理(例如 ActiveMQ)。
-我打算使用SI提供的TCP入站和出站网关。

我不确定 SI 如何帮助我实现以下目标
- 当有多个客户端连接到同一个服务器端 TCP-inbound-gateway 时,请求/回复关联将如何工作?
- 我知道通过 TCP/IP 发送消息时消息头会被剥离,解决方法是什么?
- 这种方法是否可行?:(


谢谢桑迪普_

4

1 回答 1

6

如果您使用网关,框架将为您处理相关性。

有一个示例显示了这个here...

https://github.com/SpringSource/spring-integration-samples

(见基本/tcp-client-server)。

参考手册中有关于消息相关性的讨论......

http://static.springsource.org/spring-integration/docs/2.1.0.RELEASE/reference/html/ip.html#ip-correlation

如果您需要使用适配器而不是网关(因为您需要异步消息传递或无法忍受网关的某些性能限制),那么您需要将相关数据添加到消息有效负载中。

我们有一个开放的 JIRA 问题

https://jira.springsource.org/browse/INT-1807

允许通过 TCP 传输一些标头。但是,由于没有自然的标准方式来执行此操作,因此它可能仅可用于 SI 到 SI 通信(或需要在对等方上自定义代码)。我们可能会在 2.2 中使用它。里程碑很快。投票!

希望有帮助。

更新:3.0 版本支持将选定的标头添加到 TCP 消息中。

于 2012-02-29T17:01:11.847 回答