监听Job异常结束如何处理MQ消息

问题描述 投票:0回答:1

我们有一个 RPGLE 监听器应用程序,它从本地队列接收消息请求 外部系统。顺序流程为:

  1. MQConn
  2. MQOpen
  3. 循环使用 MQGet 获取所有消息,直到收到“*EOM”请求
  4. MQ关闭

如果侦听器作业通过立即结束选项手动结束,我可以了解一下如何处理该场景吗?结果是,在 MQGet 期间检索和处理的所有消息都被加载回本地队列。 如何永久提交那些已获取的消息。预先感谢您。

拉蒙

来自社区的专家建议。

ibm-mq
1个回答
0
投票

每次成功处理消息后,将

MQCMIT
调用添加到循环中。

如果

MQBACK

 成功但消息的后续处理未成功,则调用 
MQGET
。这将回滚事务(仅限 MQ)并且该特定消息将返回到队列。

© www.soinside.com 2019 - 2024. All rights reserved.