spring3 + Quartz1.8.6 Schuduler Example
来源:互联网 发布:访客网络设置 编辑:程序博客网 时间:2024/06/05 17:36
1.依赖jar文件
org.springframework.spring-core 3.1.2.RELEASE
org.springframework.spring-context-support 3.1.2.RELEASE
org.springframework.spring-tx 3.1.2.RELEASE
org.quartz-scheduler.quartz 1.8.6
2.Scheule Task
Create a normal Java class, this is the class you want to schedule in Quartz
File : DelMeetingTask.java
package com.hyperats.v2;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import javax.annotation.Resource;
import com.hyperats.exception.TransFailException;
public class DelMeetingTask {
public void printMe() {
System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
.format(new Date()) + "执行ExampleJob的定时任务");
}
}
3.Declare Quartz Schedule Job
With Spring, you can declare Quartz job in two ways :
3.1 MethodInvokingJobDetailFactoryBean
This is the simplest and straightforward method, suitable for simple scheduler.
<bean id="runMeJob" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> <property name="targetObject" ref="runMeTask" /> <property name="targetMethod" value="printMe" /> </bean>3.2 JobDetailBeanFile : RunMeJob.java
package com.hyperats.v2;
import org.quartz.JobExecutionContext;import org.quartz.JobExecutionException;import org.springframework.scheduling.quartz.QuartzJobBean;
import com.hyperats.exception.TransFailException;
public class DelMeetingJob extends QuartzJobBean {
private DelMeetingTask delMeetingTask;
public void setDelMeetingTask(DelMeetingTask delMeetingTask) { this.delMeetingTask = delMeetingTask; }
@Override protected void executeInternal(JobExecutionContext arg0) throws JobExecutionException { delMeetingTask.printMe(); }
}
<bean id="delMeetingTask" class="com.hyperats.v2.DelMeetingTask" />
<bean name="runMeJob" class="org.springframework.scheduling.quartz.JobDetailBean"> <property name="jobClass" value="com.hyperats.v2.DelMeetingJob" /> <property name="jobDataAsMap"> <map> <entry key="delMeetingTask" value-ref="delMeetingTask" /> </map> </property> </bean>
4.TrigerConfigure Quartz trigger to define when will run your scheduler job. Two type of triggers are supported :
4.1 SimpleTrigger
It allows to set the start time, end time, repeat interval to run your job.
<bean id="simpleTrigger" class = "org.springframework.scheduling.quartz.SimpleTriggerBean"><property name="jobDetail" ref="runMeJob"/><property name="repeatInterval" value="5000"/><proterty name="startDelay value="1000"></bean>
4.2 CronTrigger
It allows Unix cron expression to specify the dates and times to run your job.
<bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean"> <property name="jobDetail" ref="runMeJob" /> <property name="cronExpression" value="0 30 14 * * ?" /> </bean>5.Schedule Factory
Create a Scheduler factory bean to integrate both job detail and trigger together.
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <property name="jobDetails"> <list> <ref bean="runMeJob" /> </list> </property> <property name="triggers"> <list> <ref bean="cronTrigger" /> </list> </property> </bean>
- spring3 + Quartz1.8.6 Schuduler Example
- Spring3.1.1 quartz1.8.6 定时器配置
- Spring3.1.1 quartz1.8.6 定时器配置
- Spring3.1.0+Quartz1.8.6整合实现计划任务
- spring3+quartz1集群配置、分布式集群配置
- spring3.0.5与quartz1.8.4的集成详细说明
- Spring3.0.6+Quartz1.8.5实现定时任务的配置方法
- Spring3 + Quartz1.6.2精确的任务调度,并注入service
- spring3.0.5与quartz1.8.4的集成详细说明
- HornetQ和Spring3集成Example
- spring3.X+quartz1.X和spring4.X+quartz2.x[非动态定时]
- Spring3.1 web exception handling example(Updated)
- spring4.0.5 + quartz1.8.6/2.2.1集群搭建
- Spring1.1.1+quartz1.8.6实现集群环境下的定时任务
- example
- example
- Example
- example
- Mac锁屏 设置快捷键
- -3+1-c#求解-英雄会在线编程题目
- 蓝桥杯练习(vip) 字符串对比
- js中this的用法
- js控制容器隐藏出现防止样式变化
- spring3 + Quartz1.8.6 Schuduler Example
- 读jQuery Blog之New Demo Page
- .NET Framework 的 Quirk Version
- B. Garland
- 数学之路(3)-SVR-支持向量回归
- Leetcode-Reorder List
- UIKit 06、使用UITabBarController 和 自定义标签栏控件 创建多视图的iOS应用程序
- Sony 面经
- 【分享】国家自然科技资源平台实验材料数据库