Websphere MQ消息不会退回到输入队列

时间:2016-01-18 18:40:57

标签: java message-queue ibm-mq mq backout

在Websphere MQ中有一条消息。已阅读邮件,我正在尝试将邮件退回到输入队列。尚未达到重试阈值。发生异常时,MQ消息是否会自动进入输入Q?这是我的代码:

MQQueueManager qm = new MQQueueManager("");
MQQueue q = qm.accessQueue("");
MQMessage message = new MQMessage();
q.get(message);
System.out.println("Retry Count"+ message.backoutCount);
throw new NullPointerException;

上面的代码会再次将消息放入输入队列吗?在这种情况下,它不会将消息放回输入队列。消息丢失。

1 个答案:

答案 0 :(得分:1)

如果您的邮件是开始的交易的一部分,则只能将其撤消。您的代码不使用交易。

查看MQGMO选项,<time datetime="wantToInsertTimeStampHere">Lorem Ipsum</time>MQGMO_SYNCPOINT(在以下两个链接中搜索字符串MQGMO_SYNCPOINT_IF_PERSISTENT)。

MCVE

MQ Java Classes CMQC constants

还有MQGMO_SYNCPOINT上的commit()和backout()方法:

MQ API description of MQGMO_SYNCPOINT - applicable to all languages

并建议您阅读此交易的通用说明

MQQueueManager class