1

我一直在阅读 Spring Integration 和 Enterprise Integration Patterns。

我被困在消息桥模式: http: //enterpriseintegrationpatterns.com/MessagingBridge.html http://static.springsource.org/spring-integration/docs/2.0.0.M3/spring-integration-reference/html /bridge.html

在消息处理方面,消息传递桥和消息转换器有什么区别?难道它们都不能让两个需要不同格式的实体一起工作吗?

4

2 回答 2

1

从纯粹的 EIP 角度来看,翻译器用于在系统内转换消息,而桥梁可能包括不同系统之间的转换。

在 Spring Integration 中,<bridge/>实现只是用作通道之间的无操作组件。

例如,您可能有一个以通道开头的公共子流——假设只有少数组件最终形成一个出站适配器(例如 FTP)。您可能希望在多个应用程序中重用该子流程 - 您可以将其打包在一个 jar 中并记录其开头,例如toFTPChannel. 现在,可能想要使用此“组件”的其他应用程序可以简单地<bridge/>将其输出通道转换为toFTPChannel.

桥接器仅允许您将两个通道相互连接。

另一个用例是在单元/集成测试中——例如,您可以将应用程序的最终通道桥接到 a QueueChannel,以便测试可以使用输出消息并验证其内容。

于 2013-04-08T12:56:22.417 回答
1

消息桥是连接两种不同类型的消息系统。前任。您组织的主要消息传递系统是您的大多数应用程序用来进行通信的 Tibco EMS。但是现在您的许多应用程序还需要一个特殊的消息提要,该提要只能从 IBM-MQ 获得。因此,将 MQ 提要桥接/复制到 EMS 主题是有意义的,这样用于与 EMS 对话的应用程序现在可以轻松地使用来自桥接 EMS 主题而不是 MQ 的消息。

消息转换器主要是同一消息系统中的数据格式映射器。它侧重于切换数据格式(例如,从 XML 到 JSon),而不是消息传输(例如,从 MQ 到 EMS)。

于 2017-07-23T03:37:55.670 回答