【问题标题】:Websphere MQ message purged (destructive read) instead of browsedWebsphere MQ 消息已清除(破坏性读取)而不是已浏览
【发布时间】:2014-10-23 04:55:01
【问题描述】:

我正在尝试浏览队列中的消息。由于某种原因,消息被清除/删除(破坏性读取)而不是被浏览。

这是我的 OpenOptions:

int openOptions2 = CMQC.MQOO_INPUT_AS_Q_DEF
                 | CMQC.MQOO_FAIL_IF_QUIESCING
                 | CMQC.MQOO_INQUIRE
                 | CMQC.MQOO_BROWSE;

这是我的 GetOptions:

qMQGetMessageOptions.options = CMQC.MQGMO_NO_WAIT | CMQC.MQGMO_BROWSE_FIRST;

我做错了什么?

【问题讨论】:

    标签: java ibm-mq


    【解决方案1】:

    试试:

    int openOptions2 = CMQC.MQOO_FAIL_IF_QUIESCING | CMQC.MQOO_INQUIRE | CMQC.MQOO_BROWSE;
    

    还有:

    MQMessage getMsg;
    qMQGetMessageOptions.options = CMQC.MQGMO_NO_WAIT | CMQC.MQGMO_BROWSE_FIRST;
    
    while (true)
    {
       getMsg = new MQMessage();
       inQ.get(getMsg, qMQGetMessageOptions);
       qMQGetMessageOptions.options = CMQC.MQGMO_NO_WAIT | CMQC.MQGMO_BROWSE_NEXT;
    }
    

    【讨论】:

    • 罗杰,谢谢你的代码。我很愚蠢:从未将 getMessageOptions 添加到我的 get 语句中。我有inQ.get(getMsg); 而不是inQ.get(getMsg, qMQGetMessageOptions);
    猜你喜欢
    • 2012-11-05
    • 2010-11-05
    • 1970-01-01
    • 2011-03-28
    • 1970-01-01
    • 2013-10-22
    • 1970-01-01
    • 1970-01-01
    • 2013-08-04
    相关资源
    最近更新 更多