【问题标题】:EAI - messaging bridge vs message translatorEAI - 消息桥与消息翻译器
【发布时间】:2013-03-30 01:20:06
【问题描述】:
【问题讨论】:
标签:
messaging
spring-integration
eai
enterprise-integration
【解决方案1】:
消息桥是连接两种不同类型的消息系统。前任。您组织的主要消息传递系统是您的大多数应用程序用来进行通信的 Tibco EMS。但是现在您的许多应用程序还需要一个特殊的消息提要,该提要只能从 IBM-MQ 获得。因此,将 MQ 提要桥接/复制到 EMS 主题是有意义的,这样您用于与 EMS 对话的应用程序现在可以轻松地使用来自桥接 EMS 主题而不是 MQ 的消息。
消息转换器主要是同一消息系统中的数据格式映射器。它侧重于切换数据格式(例如,从 XML 到 JSon),而不是消息传输(例如,从 MQ 到 EMS)。
【解决方案2】:
从纯粹的 EIP 角度来看,翻译器用于在系统内转换消息,而桥梁可能包括不同系统之间的转换。
在 Spring Integration 中,<bridge/> 实现只是用作通道之间的无操作组件。
例如,您可能有一个以通道开头的公共子流程 - 假设只有少数组件最终形成出站适配器(例如 FTP)。您可能希望在多个应用程序中重复使用该子流程 - 您可以将其打包在一个 jar 中并记录它的开头,例如 toFTPChannel。现在,其他可能想要使用这个“组件”的应用程序可以简单地将它们的输出通道<bridge/> 发送到toFTPChannel。
桥接器仅允许您将两个通道相互连接。
另一个用例是单元/集成测试 - 例如,您可以将应用程序的最终通道桥接到 QueueChannel,以便测试可以使用输出消息并验证其内容。