gpt4 book ai didi

transactions - 如果消息在MQ中回滚会怎样?

转载 作者:行者123 更新时间:2023-12-04 05:15:50 25 4
gpt4 key购买 nike

我从WebSPhere MQ队列收到一条消息。我尝试进行处理,如果收到一些异常,我想将消息回滚到MQ队列。

我这样做没有任何问题。消息发生了什么?它是否排在队列的最底端?

如果我尝试从队列中提取一条消息,我会收到与回滚相同的消息吗?

这可能是什么行为?我想知道这种现象通常发生在大容量队列的情况下吗?

感谢任何输入。

谢谢,
芒鲁

最佳答案

如果您正在事务范围内执行队列操作,并且发生回滚,则在事务解析后,队列和消息将像在事务开始之前一样显示。换句话说,没有任何变化。

但是,在高容量方案中,通常在单个队列中有多个事务读取器和写入器,并且对于每个出队或入队,它们不会锁定整个队列。

这些读取器和写入器将在您注定要解决的事务解决时将项目插入队列,或以事务方式从队列中取出项目。在这种情况下,其他队列项目可能会出现或消失(或同时出现)。

如果在回滚原始事务之后再次退出队列,则可能会收到原始消息,但可能不会。在高容量,高并发的情况下,可能有另一个阅读者在您的代码可以提取消息之前就已经提取了消息。

关于transactions - 如果消息在MQ中回滚会怎样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/910613/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com