Spring Boot 正在将Sping Boot 2.7.0迁移到3.0.2,我遇到了问题(jakarta.jms.连接工厂无法类型转换为com.ibm.mq.jms.MQConnectionFactory)

mzaanser  于 2023-03-18  发布在  Spring
关注(0)|答案(1)|浏览(269)
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.jms.core.JmsTemplate]: Factory method 'jmsTemplate' threw exception with message: class com.ibm.mq.jms.MQConnectionFactory cannot be cast to class jakarta.jms.ConnectionFactory (com.ibm.mq.jms.MQConnectionFactory and jakarta.jms.ConnectionFactory are in unnamed module of loader 'app')
    at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:171)
    at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653)
    ... 66 common frames omitted
Caused by: java.lang.ClassCastException: class com.ibm.mq.jms.MQConnectionFactory cannot be cast to class jakarta.jms.ConnectionFactory (com.ibm.mq.jms.MQConnectionFactory and jakarta.jms.ConnectionFactory are in unnamed module of loader 'app')

问题可能是由于IBM MQ不支持更高版本或与spring 6不兼容,但不确定。正在寻找问题的解决方案。

gk7wooem

gk7wooem1#

MQ提供了Jakarta兼容的包,您必须更改依赖项以使用正确的模块。
如果您使用的是MQ Sping Boot 库,则使用相应的V3.x.x构件。
如果直接引用MQ客户端库,则使用com.ibm.mq.jakarta.client而不是com.ibm.mq.allclient

相关问题