0
在Websphere MQ中有消息。已阅读消息,并且正在尝试将消息退出到输入队列。尚未达到重试阈值。发生异常时,MQ消息是否自动放入输入Q?这是我的代码:Websphere MQ消息不退回到输入队列
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;
上面的代码会再次将消息放入输入队列吗?在这种情况下,它不会将消息放回输入队列。消息丢失。
是的,它现在可以工作了。但我想澄清一件事情。如果在处理msg时发生异常,msg是否会退出到输入Q,以便重新处理预处理次数,配置时间?如果达到阈值,则邮件移动到退出队列?在我的情况下,同样的事情发生。但是,一旦关闭应用程序,所有消息就会从Backout Queue中移回输入队列。这再次发生相同的重试计数次数..在这里得到困惑..请帮助 – Karthik
如果您在输入q上定义了退出队列和退出阈值,那么某些接口(不是基本的MQI)将只允许特定消息在被移出到退出队列之前被多次退出。你的描述听起来像你从未做过交易?你可以用你的代码使用同步点提出你的问题(或提出一个新问题)吗? –