log4j:java.lang.ClassCastException:com.ibm.ejs.jms.JMSTopicConnectionFactoryHandle 与 WebSphere 9 上的 javax.jms.TopicConnectionFactory 不兼容

我在使用 log4j 1.2.17 将消息发送到 IBM MQ 主题的 IBM WebSphere Application Server 9.0.5.5 上运行时遇到了一些困难。

在 WAS 中,我们最初设置了一个 ConnectionFactory 用于与主题进行通信。这就是我们对使用 IBM MQ 队列的其他应用程序所做的。但是,这最终给了我以下错误:

java.lang.ClassCastException: com.ibm.ejs.jms.JMSConnectionFactoryHandle incompatible with javax.jms.TopicConnectionFactory

我发现了一篇 IBM 文章,该文章讨论了队列的类似问题,解决方案是使用 QueueConnectionFactory。因此,类似地,我从使用 ConnectionFactory 切换到 TopicConnectionFactory。现在我收到此错误:

java.lang.ClassCastException: com.ibm.ejs.jms.JMSTopicConnectionFactoryHandle incompatible with javax.jms.TopicConnectionFactory

我有另一个 Java Web 应用程序,它使用带有队列的 log4j2。我们在资源 > JMS 中的 WAS 中设置了一个 ConnectionFactory,就像我们在此应用程序中所做的那样。一切正常。这里唯一的区别是我们使用的是 log4j 1.2.17 和主题而不是队列。

我无法更改 log4j 的版本,因为它已融入我们拥有的供应商平台。

我检查了正在部署的 WAR 文件,其中只有一个 jms.jar(以及 fscontext、providerutil、mq 等 IBM MQ Client 9.1.0.0 的 JAR)。因此,没有其他可能属于旧 JMS 版本的竞争 jms.jar

知道这里可能有什么问题吗?

yangshegnhui 回答:log4j:java.lang.ClassCastException:com.ibm.ejs.jms.JMSTopicConnectionFactoryHandle 与 WebSphere 9 上的 javax.jms.TopicConnectionFactory 不兼容

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/348706.html

大家都在问