如何解决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
。
知道这里可能有什么问题吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。