请问一下,rocketmq事务第一次回查的时间在哪里配置?-[阿里云_云淘科技]

请问一下大佬,rocketmq事务第一次回查的时间在哪里配置?我本地事务还没有执行完就回查了,给不确定指令,又要等60秒才回查

以下为热心网友提供的参考意见

RocketMQ事务回查的时间间隔可以进行自定义设置。系统默认每隔30秒发起一次定时任务,对未提交的半事务消息进行回查,共持续12小时。而第一次消息回查最快时间,即在指定消息未达到设置的最快回查时间前,系统默认每隔30秒一次的回查任务不会检查该消息。

然而,根据您的描述,您的本地事务还没有执行完就触发了回查,这可能是因为事务执行较慢,而消息回查太快。在这种情况下,您可以尝试将第一次事务回查时间设置得较大一些,以解决该问题。

另外,RocketMQ中有两个重要的配置参数需要关注:transactionCheckMaxtransactionCheckInterval。其中,transactionCheckMax表示事务消息最大反查次数,而transactionCheckInterval表示事务消息检查间隔时间,其默认值为60s。

以下为热心网友提供的参考意见

RocketMQ事务第一次回查的时间默认是提交事务后的一段时间(默认为1秒),这个时间间隔在代码中是硬编码的,无法直接通过配置文件修改。如果你需要更灵活的回查时间控制,可以考虑以下方法:

  • 在业务代码中控制本地事务的执行时间,确保在第一次回查之前完成。
  • 实现自定义的TransactionCheckListener,覆盖checkLocalTransaction方法,在其中控制回查的时间和逻辑。

本文来自投稿,不代表新手站长_郑州云淘科技有限公司立场,如若转载,请注明出处:https://www.cnzhanzhang.com/18585.html

(0)
匿名
上一篇 2023年12月25日
下一篇 2023年12月25日

相关推荐

新手站长从“心”出发,感谢16年您始终不离不弃。