xxl-job 使用随记

xxl-job 使用随记

xxl-job是最近在使用的一套分布式定时任务框架,很好用,使用起来也很简单。但最近遇到一个比较奇怪的问题:由于测试的需要,把服务器上的时间做了修改,往前调整了几天,后来又改了回来,却发现定时任务都不执行了。后来排查发现是xxl-job的数据库中xxl_job_qrtz_triggers中的NEXT_FIRE_TIME字段存储的时间戳都被修改成了调整后的时间戳,自然光修改服务器的时间,定时任务也不会执行。
遇到这个问题后,便想对这张表进行深入探究下,是如何对数据库做出修改的。
但当我去搜索这张表时却发现,xxl-job并没有对这张表进行过任何操作。
由于xxl-job底层还是调用的quartz,便怀疑是否是quartz对这张表进行的操作。去简单了解了quartz的任务执行流程发现,确实是quartz对这张表进行了操作xxl-job 使用随记_第1张图片
quartz在这个方法中拼接了sql,怪不得搜不到表的一些信息。
但这是又有新的疑问产生(问题真的多),我们jdbc的配置是在xxl-job层配置的,quartz是如何访问的呢。
后续了解到quartz使用的JobStoreTX,通过spring将数据库配置到了quartz中

你可能感兴趣的:(随手)