spring+Quartz定时器
今天为lucene创建索引做一个定时器;由于初次做定时器,几经实验终于成功。
1.首先在之前整合的ssh项目基础上引入2个jar包,分别是quartz-all-2.0.2.jar、spring-context-support-3.2.2.RELEASE.jar.
2.写定时器触发的执行类
public class CreatIndexQuartz extends QuartzJobBean
{
/**
* 重载方法
*
* @param arg0
* @throws JobExecutionException
*/
@Override
protected void executeInternal(JobExecutionContext arg0)
throws JobExecutionException
{
// TODO Auto-generated method stub
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(df.format(new Date()));
}
}
3.修改配置文件applicationContext.xml,添加以下代码。
<!-- 创建索引的任务 -->
<bean name=" reportTask " class= "org.springframework.scheduling.quartz.JobDetailFactoryBean">
<property name="jobClass" value="com.xiao.quartz.CreatIndexQuartz" />
</bean>
<!-- 触发器 -->
<bean id="cronTrigger" class= "org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<!-- 指向我们的任务 -->
<property name="jobDetail" ref="reportTask" />
<!-- 每月1日凌晨1点运行 0 0 1 1 * ?-->
<property name="cronExpression" value="0 0/1 0/1 * * ?" />
<!--0 0/30 0/1 * * ? 代表每天每30分钟运行一次
0 0/3 0/1 * * ? 代表每天每3分钟运行一次
0 11 23 * * ? 代表每天晚上23:11运行一次 -->
</bean>
<!-- 调度器 -->
<bean class= "org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list><!-- 触发器列表-->
<ref bean="cronTrigger" />
</list>
</property>
</bean>
4.启动项目,查看运行结果如下。