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)將只允許特定消息在被移出到退出隊列之前被多次退出。你的描述聽起來像你從未做過交易?你可以用你的代碼使用同步點提出你的問題(或提出一個新問題)嗎? –