# quartz-project **Repository Path**: hanrentong/quartz-project ## Basic Information - **Project Name**: quartz-project - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-06-19 - **Last Updated**: 2022-08-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README quartz 主要三个组件:job trigger scheduler java-quartz 普通java项目适用quartz boot-quartz springboot整合quartz 1.根据controller层:包含了开启任务/暂停任务/动态修改任务/删除任务等等 2.使用spring的监听器自动启动 3.job怎么调用业务层逻辑 4.quartz的补偿机制(任务一暂停,隔一段时间启动,那么暂停期间漏掉执行的任务次数也会被补偿执行) /**暂停补偿相关属性,需要结合一个参数才起作用*/ /*cronScheduleBuilder.withMisfireHandlingInstructionDoNothing(); // 一个任务触发执行后,错过的任务就不执行了,执行下一个周期 cronScheduleBuilder.withMisfireHandlingInstructionFireAndProceed();// 一个任务触发执行后立刻执行一次,之后周期性执行 cronScheduleBuilder.withMisfireHandlingInstructionIgnoreMisfires(); // 类似第二个 */ boot-quartz-starter 使用spring-boot-starter实现quartz任务集群 所谓的quartz集群,就是多个jobDetail的时候就会跑在不同的节点。而且要在数据库建立一套表。 基本原理和前两种方式是一样的,只不过来通过数据库来共享数据来实现集群的效果。 在这里面的效果是:当启动一个节点的时候,该节点会调度两个job,但是当启动另外一个实例的时候,会有一个任务被分配到该节点。 第一个节点就只执行一个了。 quartz-app 利用quartz实现了一个动态实现任务功能的工具(核心是job类里的注解是怎么使用的)