gpt4 book ai didi

java - NoClassDefFoundError(初始化失败) - Websphere 和 IBM MQ

转载 作者:IT老高 更新时间:2023-10-28 13:49:13 25 4
gpt4 key购买 nike

我在部署到 Websphere 并与 IBM MQ 交互的基于 Spring 的 webapp 上遇到问题。

在我尝试一些失败测试之前一切都很好。

当 web 应用程序启动并运行时,我停止了 IBM MQ。然后我调用 webapp 来发送一条 JMS 消息。 webapp 在调用 JmsTemplate.convertAndSend 时挂起,在 ffdc 目录中发现以下异常。

请注意,JmsTemplate 是使用 JNDIObjectFactoryBean 初始化的,它从 Websphere 获取 MQ 连接工厂设置。

谁能解释“初始化失败”背后的原因??

[27/01/11 14:29:39:498 GMT]     FFDC Exception:java.lang.NoClassDefFoundError SourceId:com.ibm.ws.asynchbeans.J2EEContext.run ProbeId:894 Reporter:com.ibm.ws.asynchbeans.J2EEContext@1280128
java.lang.NoClassDefFoundError: com.ibm.msg.client.wmq.common.internal.Reason (initialization failure)
at java.lang.J9VMInternals.initialize(J9VMInternals.java:140)
at com.ibm.msg.client.wmq.internal.WMQMessageProducer.checkJmqiCallSuccess(WMQMessageProducer.java:1024)
at com.ibm.msg.client.wmq.internal.WMQMessageProducer.checkJmqiCallSuccess(WMQMessageProducer.java:997)
at com.ibm.msg.client.wmq.internal.WMQMessageProducer.access$800(WMQMessageProducer.java:63)
at com.ibm.msg.client.wmq.internal.WMQMessageProducer$SpiIdentifiedProducerShadow.initialise(WMQMessageProducer.java:758)
at com.ibm.msg.client.wmq.internal.WMQMessageProducer.<init>(WMQMessageProducer.java:972)
at com.ibm.msg.client.wmq.internal.WMQSession.createProducer(WMQSession.java:943)
at com.ibm.msg.client.jms.internal.JmsSessionImpl.createProducer(JmsSessionImpl.java:1162)
at com.ibm.msg.client.jms.internal.JmsQueueSessionImpl.createSender(JmsQueueSessionImpl.java:131)
at com.ibm.mq.jms.MQQueueSession.createSender(MQQueueSession.java:148)
at com.ibm.mq.jms.MQQueueSession.createProducer(MQQueueSession.java:249)
at com.ibm.ejs.jms.JMSMessageProducerHandle.<init>(JMSMessageProducerHandle.java:132)
at com.ibm.ejs.jms.JMSSessionHandle.createProducer(JMSSessionHandle.java:1788)
at org.springframework.jms.core.JmsTemplate.doCreateProducer(JmsTemplate.java:968)
at org.springframework.jms.core.JmsTemplate.createProducer(JmsTemplate.java:949)
at org.springframework.jms.core.JmsTemplate.doSend(JmsTemplate.java:568)
at org.springframework.jms.core.JmsTemplate$3.doInJms(JmsTemplate.java:541)
at org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:471)
at org.springframework.jms.core.JmsTemplate.send(JmsTemplate.java:539)
at org.springframework.jms.core.JmsTemplate.convertAndSend(JmsTemplate.java:617)

最佳答案

“(初始化失败)”表示该类的静态初始化程序(“ ”)方法之前抛出了未经检查的异常。发生这种情况时,JVM 将该类标记为错误,随后尝试使用或访问该类会导致 NoClassDefFoundError。在您的日志中搜索堆栈跟踪中包含“Reason. ”的错误,以找出根本原因。

(一般来说,NoClassDefFoundError 应该包含一个“Caused by”,异常发生在静态初始化程序中,但由于某种原因,原因要么不存在,要么您没有将其包含在堆栈跟踪中。 )

关于java - NoClassDefFoundError(初始化失败) - Websphere 和 IBM MQ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4819186/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com