一、spring整合 quartz
-
添加依赖
<properties> <spring-version>4.3.12.RELEASE</spring-version> <quartz-version>2.3.0</quartz-version> </properties> <dependencies> <!-- spring-tx --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-tx</artifactId> <version>${spring-version}</version> </dependency> <!-- spring-context --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>${spring-version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> <version>${spring-version}</version> </dependency> <!-- quartz --> <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</artifactId> <version>${quartz-version}</version> </dependency> <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz-jobs</artifactId> <version>${quartz-version}</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <!-- 代码检错版本号 --> <source>1.8</source> <!-- 代码编译版本号 --> <target>1.8</target> <!--项目字符集 --> <encoding>UTF-8</encoding> </configuration> </plugin> </plugins> </build>
-
编写任务类
-
配置任务实例
<bean id="实例名称" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> <!-- 执行的类 --> <property name="targetObject"> <ref bean="任务id" /> <!--<bean class="任务路径"/> </property> <!-- 类中的方法 --> <property name="targetMethod"> <value>任务方法</value> </property> <!-- 作业不并发调度 --> <property name="concurrent" value="false" /> </bean>
-
配置触发器(触发器二选一)
<!-- SimpleTriggerBean 触发器 只支持按照一定频度调用任务,如每隔30分钟运行一次。--> <bean id="触发器id" class="org.springframework.scheduling.quartz.SimpleTriggerFactoryBean"> <property name="jobDetail"> <ref bean= "任务实例id" /> </property> <property name="startDelay" value="xxx" /> <!-- 调度工厂实例化后,经过0秒开始执行调度 --> <property name="repeatInterval" value="xxx" /> <!-- 每xxx秒调度一次 --> </bean> <!-- CronTriggerBean 触发器 支持到指定时间运行一次,如每天12:00运行一次等。 --> <bean id="触发器id" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean"> <property name="jobDetail"> <ref bean="任务实例id" /> </property> <!-- cron表达式 --> <property name="cronExpression"> <value>cron表达式</value> </property> </bean>
-
配置调度工厂
<!-- 配置调度工厂 --> <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <!-- 添加触发器 --> <property name="triggers"> <list> <ref bean="触发器" /> </list> </property> </bean>
-
编写测试类
二、cron表达式
https://www.cnblogs.com/pipi-changing/p/5697481.html