10年 Java程序员,硬核人生!勇往直前,永不退缩!

欢迎围观我的git:https://github.com/R1310328554/spring_security_learn 寻找志同道合的有志于研究技术的朋友,关注本人微信公众号: 觉醒的码农,或Q群 165874185

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2021年8月22日

摘要: 观察quartz 的sql日志, 会发现其中有很多的 job状态的转变, 那么 有哪些呢 qrtz_TRIGGERS 表的状态 qrtz_FIRED_TRIGGERS 也好, 状态最开始是 WAITING, 然后在时间窗口被扫描到 则获取锁准备执行, 获取锁成功则更新为 ACQUIRED, 但是 对 阅读全文
posted @ 2021-08-22 15:03 CanntBelieve 阅读(1111) 评论(0) 推荐(0)

摘要: 注意事项: 1 scheduler.scheduleJob(jobDetail, trigger); 的时候, jobKey, triggerKey 都不能和数据库中已经存在的 冲突,否则就注册不上!!!。 2 scheduler.start(); 之后 , 数据库所有的 触发器 都会被扫描, 然后 阅读全文
posted @ 2021-08-22 14:39 CanntBelieve 阅读(269) 评论(0) 推荐(0)

摘要: 注意事项: 1 scheduler.scheduleJob(jobDetail, trigger); 的时候, jobKey, triggerKey 都不能和数据库中已经存在的 冲突,否则就注册不上!!!。 2 scheduler.start(); 之后 , 数据库所有的 触发器 都会被扫描, 然后 阅读全文
posted @ 2021-08-22 14:37 CanntBelieve 阅读(258) 评论(0) 推荐(0)

摘要: 3. quartz基本原理 3.1. 核心元素 Quartz核心要素有Scheduler、Trigger、Job、JobDetail,其中trigger和job、jobDetail为元数据,而Scheduler为实际进行调度的控制器。 Trigger Trigger用于定义调度任务的时间规则,在Qu 阅读全文
posted @ 2021-08-22 14:35 CanntBelieve 阅读(291) 评论(0) 推荐(0)

摘要: 设置quartz的日志打印,为完整日志 引入p6spy : 配置spy.properties: # 指定应用的日志拦截模块,默认为com.p6spy.engine.spy.P6SpyFactory #modulelist=com.p6spy.engine.spy.P6SpyFactory,com.p 阅读全文
posted @ 2021-08-22 14:29 CanntBelieve 阅读(1576) 评论(0) 推荐(0)

摘要: misfire 到底怎么理解? misfire 的概念并不是源自quartz ,理解它是很重要的,否则,很多奇怪的现象会让你莫名其妙。 misfire 简单来说,就是因为某些原因(比如服务器挂了,崩溃了,手动停止了,太繁忙了), 导致某些应该被调度的任务没有被调度, 就会可能造成misfire —— 阅读全文
posted @ 2021-08-22 14:22 CanntBelieve 阅读(823) 评论(0) 推荐(0)

摘要: job 在数据库中存储是是一个 class name,意味着其实际的执行内容是可以随时变的—— 它跟着class 文件而变。 这其实给与了 我们很大的灵活性! job 是线程安全的? 答案是 yes,因为:quartz 是根据 表的 jobClass 字段, 每次创建job 实例,然后执行的! jo 阅读全文
posted @ 2021-08-22 13:55 CanntBelieve 阅读(303) 评论(0) 推荐(0)

摘要: 全部日志 06:58:18.802 [main] DEBUG o.q.i.j.StdRowLockSemaphore - Lock 'STATE_ACCESS' is desired by: main 06:58:18.887 [main] DEBUG o.q.i.j.StdRowLockSemap 阅读全文
posted @ 2021-08-22 13:47 CanntBelieve 阅读(2521) 评论(0) 推荐(0)

摘要: 一般是需要设置 org.quartz.jobStore.isClustered = true, 测试发现, 设置org.quartz.jobStore.isClustered = false 和 true , 表面上差别不是很大。 都是一样会执行。 都是。抢占锁的方式执行。。 不过 不是平均每个节点 阅读全文
posted @ 2021-08-22 13:39 CanntBelieve 阅读(447) 评论(0) 推荐(0)