我一直在阅读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
消息处理方面的消息传递桥和消息转换器之间有什么区别?难道它们都不能使两个需要不同格式的实体一起工作吗?
答案 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)。