请问一下大佬,rocketmq事务第一次回查的时间在哪里配置?我本地事务还没有执行完就回查了,给不确定指令,又要等60秒才回查
以下为热心网友提供的参考意见
RocketMQ事务回查的时间间隔可以进行自定义设置。系统默认每隔30秒发起一次定时任务,对未提交的半事务消息进行回查,共持续12小时。而第一次消息回查最快时间,即在指定消息未达到设置的最快回查时间前,系统默认每隔30秒一次的回查任务不会检查该消息。
然而,根据您的描述,您的本地事务还没有执行完就触发了回查,这可能是因为事务执行较慢,而消息回查太快。在这种情况下,您可以尝试将第一次事务回查时间设置得较大一些,以解决该问题。
另外,RocketMQ中有两个重要的配置参数需要关注:transactionCheckMax
和transactionCheckInterval
。其中,transactionCheckMax
表示事务消息最大反查次数,而transactionCheckInterval
表示事务消息检查间隔时间,其默认值为60s。
以下为热心网友提供的参考意见
RocketMQ事务第一次回查的时间默认是提交事务后的一段时间(默认为1秒),这个时间间隔在代码中是硬编码的,无法直接通过配置文件修改。如果你需要更灵活的回查时间控制,可以考虑以下方法:
- 在业务代码中控制本地事务的执行时间,确保在第一次回查之前完成。
- 实现自定义的TransactionCheckListener,覆盖
checkLocalTransaction
方法,在其中控制回查的时间和逻辑。
本文来自投稿,不代表新手站长_郑州云淘科技有限公司立场,如若转载,请注明出处:https://www.cnzhanzhang.com/18585.html