【问题标题】:IBM MQ classes for JMS - locked when sending message用于 JMS 的 IBM MQ 类 - 发送消息时被锁定
【发布时间】:2014-09-27 02:46:41
【问题描述】:

最近我开始遇到以下问题,导致消息无法传递到:

"PollThread" prio=10 tid=0x00007f0a2cf86000 nid=0x76b8 in Object.wait() [0x00007f09eb6bf000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at java.lang.Object.wait(Object.java:503)
        at com.ibm.mq.jmqi.remote.api.RemoteHconn.checkUsable(RemoteHconn.java:2121)
        - locked <0x000000048f040a10> (a com.ibm.mq.jmqi.remote.api.RemoteHconn$ReconnectMutex)
        at com.ibm.mq.jmqi.remote.api.RemoteHconn.enterCall(RemoteHconn.java:1787)
        at com.ibm.mq.jmqi.remote.api.RemoteHconn.enterCall(RemoteHconn.java:1764)
        at com.ibm.mq.jmqi.remote.api.RemoteFAP.jmqiPutMessageWithProps(RemoteFAP.java:7804)
        at com.ibm.mq.jmqi.remote.api.RemoteFAP.jmqiPut(RemoteFAP.java:7254)
        at com.ibm.mq.ese.jmqi.InterceptedJmqiImpl.jmqiPut(InterceptedJmqiImpl.java:496)
        at com.ibm.mq.ese.jmqi.ESEJMQI.jmqiPut(ESEJMQI.java:385)
        at com.ibm.msg.client.wmq.internal.WMQMessageProducer$SpiIdentifiedProducerShadow.sendInternal(WMQMessageProducer.java:812)
        at com.ibm.msg.client.wmq.internal.WMQMessageProducer$ProducerShadow.send(WMQMessageProducer.java:531)
        at com.ibm.msg.client.wmq.internal.WMQMessageProducer.send(WMQMessageProducer.java:1178)
        at com.ibm.msg.client.jms.internal.JmsMessageProducerImpl.sendMessage(JmsMessageProducerImpl.java:927)
        at com.ibm.msg.client.jms.internal.JmsMessageProducerImpl.send_(JmsMessageProducerImpl.java:783)
        at com.ibm.msg.client.jms.internal.JmsMessageProducerImpl.send(JmsMessageProducerImpl.java:446)

整个客户端应用程序无响应。如何对用于 JMS 的 IBM MQ 类的此类问题进行故障排除?是连接设置问题吗? MQ 日志文件中没有错误。 MQ 版本是 7.5.2。提前感谢您的帮助。

【问题讨论】:

    标签: ibm-mq


    【解决方案1】:

    ReconnectMutex 上的锁被持有,这意味着与队列管理器的重新连接当前正在进行中,因此等待直到收到重新连接成功的通知。是否有另一个线程看起来正在尝试重新连接到队列管理器并且没有移动?您知道此时队列管理器是否已启动并正在运行?

    【讨论】:

    • 队列管理器已启动并正在运行。从应用程序线程转储看来,这是唯一等待的线程,但我不知道如何检查它。
    • 您是否看到任何 MQ 线程正在执行连接?还是在等待套接字?如果您可以将线程转储粘贴到某个地方,我可能会提供帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-11
    • 2012-11-28
    • 2017-11-08
    • 2011-01-20
    • 2019-08-29
    • 1970-01-01
    相关资源
    最近更新 更多