参考:http://fanshuyao.iteye.com/blog/2309223
参考:http://blog.youkuaiyun.com/defonds/article/details/49496895
此处只讲一种方法(方法映射),另一种方法(继承QuartzJobBean类,实现executeInternal方法)没有实践,可以参考上面两个地址
一、maven pom配置
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>${spring.version}</version>
</dependency>
<!-- 定时调度 -->
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>2.2.1</version>
</dependency>
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz-jobs</artifactId>
<version>2.2.1</version>
</dependency>
二、java的定时任务类
public class SendEmail {
public void send() {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = new Date();
System.out.println(sdf.format(date) + " 执行Quartz定时器");
}
}
三、spring的配置文件配置
1、配置定时任务java类
<!-- 配置任务bean类(SendEmail)-->
<bean id="sendEmail" class="com.bjsd.apps.bidding.service.impl.SendEmail"></bean>
2、配置定时任务详细jobDetail,其中有对应的任务执行类:ref="sendEmail",及里面的执行方法:send
<!-- 配置方法映射工厂类 -->
<bean id="jobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject" ref="sendEmail"></property>
<property name="targetMethod" value="send"></property>
<property name="concurrent" value="false"></property>
<!-- concurrent : false表示等上一个任务执行完后再开启新的任务 -->
</bean>
3、配置定时任务的执行时间或周期(此处意为每五秒执行一次),同时关联任务详细jobDetail
<!-- 配置任务高度的的时间/周期 -->
<bean id="billsCheckJobTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail" ref="jobDetail"></property>
<property name="cronExpression" value="0/5 * * ? * *"></property>
<property name="startDelay" value="3000"></property>
</bean>
4、配置SchedulerFactoryBean类,调用时间触发
<bean id="schedulerFactoryBean" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<!-- <ref bean="billsCheckJobTrigger"/> -->
<ref bean="billsCheckJobTrigger"/>
</list>
</property>
</bean>
四、Spring—Quartz定时调度CronTrigger时间配置格式说明与实例
参考:http://blog.youkuaiyun.com/foamflower/article/details/4260645