我有一个队列Q1,其后退队列为QB,后退阈值为3.我正在研究处理有害消息的各种可能性,所以每当我从队列中读取消息时,我都会使应用程序抛出异常继续轮询队列。 Q1的深度为15,QB为5,DLQ为5。 对于第一种情况,我将7条消息输入Q1并启动应用程序。正如预期的那样,当回退计数为3时,每条消息都回滚到队列并移动到退出队列。在第六条消息中,由于QB已满,消息将移至DLQ,第七条消息也是如此。迷人地工作。
对于我需要知道当退出队列和DLQ都已满时会发生什么的第二种情况,我输入了12条消息并启动了应用程序,前10条消息的一切按预期工作,5条在退出,5条在DLQ。对于下一个,它抛出DLQ已满是显而易见的。
但是我在MQ资源管理器中可以观察到的是,12条消息在Q1,QB和DLQ之间无限循环,当我自己停止应用程序时,所有消息都在Q1中结束,就像我开始之前一样应用。
完全困惑,谷歌搜索了很多但没有发现任何类似的东西。
任何人都可以指出我做错了什么或者在这个难题中缺少了什么。
提前致谢。