问题:在 Websphere 服务器上运行的 MDB 监听 Weblogic 服务器上的队列
我已经在 WAS 服务器上部署了 wljmsra.rar,但在尝试解决问题时遇到了多个障碍(并且遇到了不同的兔子洞)。
通过将 weblogic 服务器添加为新的 JMS 提供程序来尝试非 JCA 路由。我能够建立连接,但 MDB 最终使用 IBM sib 资源适配器与 weblogic 对话,我得到以下异常
例外是:javax.resource.spi.InvalidPropertyException:CWSJR1181E:JMS 激活规范具有无效值 - 未能验证 JMS 激活规范的原因是:[CWSJR1192E:使用队列的目标类型的 JMS 激活规范必须目标类型为 [com.ibm.websphere.sib.api.jms.JmsQueue] 但传递的目标类型为 [weblogic.jms.common.DistributedDestinationImpl]]
使用 J2C 连接工厂、J2C 管理对象和 J2C 激活规范尝试了 wljmsra 资源适配器。似乎这个以某种方式使用本地 JNDI 上下文而不是 weblogic JNDI,并且在查找连接工厂/队列的目标 JNDI 名称时失败并出现 nameNotfound 异常
尝试了 JMS 提供者和 JCA 资源适配器的组合(是的......听起来很疯狂)但是这个给了我以下例外:
javax.resource.NotSupportedException: J2EE GJRA-02300: cause = Endpoint defined with transaction attribute required 必须配置有支持 XA 的 JMS 连接工厂;action = 请检查为此端点指定的连接工厂的配置
我的偏好是使用 wljmsra.rar 沿着 JCA 适配器路由(是的,我知道...Websphere 不在 Oracle https://docs.oracle.com/middleware/1212列出的受支持服务器列表中/wls/JMSRA/intro.htm#JMSRA107 )
因此,我们将不胜感激任何帮助实现这一目标:)