quartz定时任务中,防止并发执行,为什么每次都是同一个节点执行?

因为不同的节点的scheduler去抢占数据库的行锁,谁抢到了谁执行。

但是测试下来,每次执行都是节点A在跑,
但是这样的压力,就全部压在了一个节点上了呀?

阅读 2.6k
2 个回答

有以下几个方面可以排查:

  1. 是否抢锁时间又先后,抢锁前打印日志,看执行时间
  2. 是否不同节点性能不同,或网络情况不同
  3. 若想要验证则在加锁前随机睡眠一个时间,看是否还会是同一个节点
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进