【问题标题】:EAI - messaging bridge vs message translatorEAI - 消息桥与消息翻译器
【发布时间】:2013-03-30 01:20:06
【问题描述】:

我一直在阅读 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

在消息处理方面,消息桥接器和消息转换器有什么区别?他们不是都可以让两个需要不同格式的实体一起工作吗?

【问题讨论】:

    标签: 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,以便测试可以使用输出消息并验证其内容。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-12-20
        • 2021-06-01
        • 2014-06-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多