Ibm mq 如何在IBMMQSeries和ActiveMQArtemis7.x之间架起桥梁?

Ibm mq 如何在IBMMQSeries和ActiveMQArtemis7.x之间架起桥梁?,ibm-mq,activemq-artemis,Ibm Mq,Activemq Artemis,是否有人成功地在IBM MQSeries(MQS)和ActiveMQ Artemis 7.x(AMQ 7)之间创建了一个桥接器,以便后者可以向第一个服务器发送消息和从第一个服务器接收消息?目前,通过在代理本身上部署驼峰路由和MQS库,在MQS 7.5和AMQ 6.3之间建立桥接没有问题。但是,同样的方法不再有效,因为每个路由部署都需要代理重新配置和重新启动。 提前感谢您的反馈。ActiveMQ Artemis附带了一些示例,这些示例可能会有所帮助: examples/features/sub

是否有人成功地在IBM MQSeries(MQS)和ActiveMQ Artemis 7.x(AMQ 7)之间创建了一个桥接器,以便后者可以向第一个服务器发送消息和从第一个服务器接收消息?目前,通过在代理本身上部署驼峰路由和MQS库,在MQS 7.5和AMQ 6.3之间建立桥接没有问题。但是,同样的方法不再有效,因为每个路由部署都需要代理重新配置和重新启动。

提前感谢您的反馈。

ActiveMQ Artemis附带了一些示例,这些示例可能会有所帮助:

  • examples/features/sub modules/
    目录中的“inter-broker桥”示例。此示例演示如何在web应用程序中使用Spring将
    org.apache.activemq.artemis.jms.bridge.impl.JMSBridgeImpl
    的实例部署到代理
  • examples/features/standard/
    目录中的“camel”示例。此示例演示如何在web应用程序中使用Spring将驼峰路由部署到代理
我不知道是否可以在运行时更新它们中的任何一个,因为我实际上并没有尝试过这样做。这两个选项都应该能够在任意方向上移动消息(即从Artemis到MQS或从MQS到Artemis)

另一个选择是在那里部署和部署您的路线。这将为您提供更大的灵活性,因为它允许您专门选择路由运行的硬件以及Camel JVM消耗多少资源。直接在代理上运行Camel路由虽然方便,但并不适合,因为代理是代理而不是应用服务器


需要明确的是,ActiveMQ Artemis和IBM MQSeries彼此不直接兼容,因此不应直接兼容。对于大多数(如果不是全部的话)JMS代理实现来说都是如此。组件(如ActiveMQ Artemis JMS桥)和集成平台(如Camel)的作用是通过使用公共API与两个代理(本例中为JMS)对话来解决兼容性问题。任何实现JMS的代理都可以使用这些方法进行集成。

我在实验室环境中尝试了前两个选项(代理间桥接和代理上的骆驼)。它适用于从Artemis向MQS 9.1发送消息的用例。我无法从MQS 9.1的另一个方向发送消息。然而,我有两个问题。第一个是我们的产品正在运行MQS 7.5。你知道这个版本是否与Artemis兼容吗?第二个问题是RedHat不支持任何这些解决方案,也不支持独立的camel(我还没有尝试过)。他们建议使用我们还没有的camel-in-Fuse。我已经更新了我的答案以回应你的评论。我不知道红帽支持什么或不支持什么。你得跟他们谈谈。如果您是红帽客户,我建议您直接与他们合作解决此问题。我的回答是否回答了您的问题?如果是,请将其标记为正确,以帮助将来有相同问题的其他用户。如果没有,请详细说明原因。谢谢