Weblogic和Websphere JMS队列通信

问题描述

当前,在Weblogic中,我们正在运行两个应用程序并通过JMS Queue进行通信。现在,我们正在迁移到Liberty Server的应用程序之一。对于Weblogic和Websphere之间的JMS Queue连接,我们需要做哪些配置。

解决方法

根据您使用的是哪个JMS Provider,您有几种选择:

  • 如果提供者具有兼容的JMS资源适配器(例如WebSphere MQ)-您可以将该RA与Liberty jca功能一起使用
  • 如果提供者具有某种瘦客户端,则可以将该客户端库与应用程序一起嵌入,并手动设置连接
  • 如果当前提供者不支持以上任何一项,则可以使用具有兼容JMS RA的外部JMS服务器(例如WebSphere MQ),并将其与WebLogic和Liberty集成。

根据评论更新

没有从外部访问Liberty JNDI的简单方法-请参阅此帖子Connect to Websphere Liberty jmsServer from remote application server

您可以尝试通过API访问嵌入式JMS。在这里讨论:https://www.ibm.com/mysupport/s/question/0D50z000062ktc3CAA/helloworld-jms-client-connecting-to-embedded-liberty-jms-server?language=en_US

但是说实话,如果我是你,我会:

  • 使用与两个运行时都兼容的外部JMS提供程序,例如WebSphere MQ
  • 或将WebLogic和Liberty之间的接口重写为REST,以便WebLogic通过REST简单应用程序调用,该应用程序读取请求并将其放入嵌入式Liberty JMS引擎中的队列中,从而避免从外部调用JMS引擎。