摘自百度百科
Quartz是OpenSymphony开源组织在Job
scheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用。Quartz可以用来创建简单或为运行十个,百个,甚至是好几万个Jobs这样复杂的程序。Jobs可以做成标准的Java组件或
EJBs。Quartz的最新版本为Quartz 2.3.0。
1、在pom中引入quartz依赖
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>2.2.3</version>
</dependency>
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz-jobs</artifactId>
<version>2.2.3</version>
</dependency>
以下是applicationContext.xml中配置的
2、配置作业对象,指定一个要使用的类和调用这个类中的哪个方法
targetObject:要使用的类,这个类要已经交给Spring管理的(bean标签或者注解都可以)
targetMethod:要使用的这个类中的方法
<bean id="jobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject" ref="myJob"></property>
<property name="targetMethod" value="sendEmail"></property>
</bean>
3、配置触发器,设定作业对象和执行周期
jobDetail:引入一个作业对象
cronExpression:执行周期(使用cron表达式配置)
<bean id="trigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail" ref="jobDetail"></property>
<property name="cronExpression">
<!-- 每五秒执行一次 (Cron表达式)-->
<value>0/5 * * * * ?</value>
</property>
</bean>
4、配置定时调度容器对象,把触发器交给容器去创建和执行(引入刚才的触发器对象)。
list里面可以写多个触发器对象
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="trigger"/>
</list>
</property>
</bean>