EAI - 消息传递桥与消息转换器

时间:2013-04-08 03:54:12

标签: messaging spring-integration eai enterprise-integration

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

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

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

2 个答案:

答案 0 :(得分:1)

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

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

例如,您可能有一个以通道开头的公共子流 - 假设只有少数组件在出站适配器(例如FTP)中达到高潮。您可能希望在多个应用程序中重用该子流程 - 您可以将其打包在一个jar文件中,并将其打开,例如toFTPChannel。现在,可能想要使用此“组件”的其他应用程序只需<bridge/>将其输出通道toFTPChannel。{/ p>

除了允许您将两个通道连接到另一个通道之外,该桥只做了。

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

答案 1 :(得分:0)

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

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