Spring对Quartz的整合也从侧面反映出Quartz功能的强大。
以下这个例子的作业类继承org.springframework.scheduling.quartz.QuartzJobBean类(也有不继承该类的方式)
JOB作业类TestQuartzJob:
package com<span style="font-family:verdana, geneva;">;</span>
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.springframework.scheduling.quartz.QuartzJobBean;
public class <span style="font-family:verdana, geneva;">Test</span>QuartzJob extends QuartzJobBean {
protected void executeInternal(JobExecutionContext arg0) throws JobExecutionException {
//do<span style="font-family:verdana, geneva;"> something
System.out.println("hello");
</span> }
}
spring配置bean:
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref local="<span style="font-family:verdana, geneva;">test</span>" />
</list>
</property>
</bean>
<bean id="<span style="font-family:verdana, geneva;">test</span>" class="org.springframework.scheduling.quartz.CronTriggerBean">
<span style="font-family:verdana, geneva;"> </span><property name="jobDetail" ref="<span style="font-family:verdana, geneva;">test</span>JobDetail" />
<property name="cronExpression" value="0 0 1 * * ?" />
</bean>
<bean name="<span style="font-family:verdana, geneva;">test</span>JobDetail" class="org.springframework.scheduling.quartz.JobDetailBean">
<property name="jobClass"<span style="font-family:verdana, geneva;"> </span>value="com.<span style="font-family:verdana, geneva;">Test</span>QuartzJob" />
</bean>
cronExpression参数说明:
"cronExpression"的配置说明
字段 允许值 允许的特殊字符
秒 0-59 , - * /
分 0-59 , - * /
小时 0-23 , - * /
日期 1-31 , - * ? / L W C
月份 1-12 或者 JAN-DEC , - * /
星期 1-7 或者 SUN-SAT , - * ? / L C #
年(可选) 留空, 1970-2099 , - * /
- 区间
* 通配符
? 你不想设置那个字段