java - 解决 IBM MQ 独立应用程序中的 MQRC 2195 错误

标签 java ibm-mq mq

已解决

我从IBM Technote IZ66146找到了答案

希望它可以帮助其他遇到同样问题的人。

<小时/>

我编写了一个简单的方法来从 MQ 队列读取消息。
在循环中,我尝试读取消息(使用 waitInterval)。成功从队列中读取消息后,返回2195返回码。我该如何解决这个问题?

这是我的代码的简化版本,没有异常处理或任何其他内容。

   public static void main(String args[]) {
    MQException.logExclude(MQException.MQRC_NO_MSG_AVAILABLE);
    MQException.logExclude(MQException.MQRC_UNEXPECTED_ERROR);
    MQException.log = null;
            while (true) {
        incomeDeployMsg = readFromQueue(waitReadInterval);
                    System.out.println(dateFormater.format(new Date()) + " Income msg");
            }
   } 
    public String readFromQueue(int waitInterval) throws MQException{
    MQMessage message = new MQMessage();
    try {
        if (m_inQueue == null || !m_inQueue.isOpen())
            m_inQueue = m_mqQmgr.accessQueue(m_inQueueName, CMQC.MQOO_INQUIRE + CMQC.MQOO_FAIL_IF_QUIESCING + CMQC.MQOO_INPUT_SHARED);
        message.messageId = CMQC.MQMI_NONE;
        MQGetMessageOptions gmo = new MQGetMessageOptions();
        gmo.options = CMQC.MQGMO_WAIT;
        gmo.waitInterval = waitInterval;
        m_inQueue.get(message, gmo);
                    return message.readStringOfCharLength(message.getMessageLength());
    } catch (MQException mqe) {
        throw mqe;
    } finally {
        message.clearMessage();
    }
}

结果中的第一行不是来 self 的代码!!!我认为是 IBM 的类将其打印在标准输出上。如何解决该错误?

结果:

MQJE001: Completion Code '2', Reason '2195'.
2013-05-15 11:44:27 Income msg

最佳答案

用 MQException.logExclude() 注释掉这两行,然后使用:

MQException.log = null;

关于java - 解决 IBM MQ 独立应用程序中的 MQRC 2195 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16563831/

相关文章:

java - 轻松禁用小程序的 log4j?

.net - 重用 IBM.WMQ.MQQueue 对象

ibm-mq - 我应该何时重置我的 MQ channel ?

java - 为 MessageListener 调用 stop() 并暂时暂停连接传入消息的传递的正确位置。(JMSCC0012..)?

java - Spring 启动 : A ServletContext is required to configure default servlet handling

java - 用于 Java 中基于配对的密码学的良好库

java - 限制同时登录的用户设备数

java - com.ibm.mq.MQQueue 与 com.ibm.mq.jms.MQQueue?

java - WAS Liberty Profile 连接到 MQ 服务器

java - 从 Spring JMS 捕获 MQ 关闭事件