Spring4.1.1 + Quartz定时任务配置
1. 使用到的jar包:slf4j-api-1.7.7.jar;slf4j-log4j12-1.7.7.jar;quartz-2.2.1.jar。
2. applicationContext.xml 文件配置
<!--定时任务配置 start-->
<!-- 启动触发器的配置开始 -->
<bean name="startQuertz" lazy-init="false" autowire="no"
class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="myJobTrigger" />
</list>
</property>
</bean>
<!-- 启动触发器的配置结束 -->
<!-- quartz-2.x的配置 -->
<bean id="myJobTrigger"
class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail">
<ref bean="myJobDetail" />
</property>
<property name="cronExpression">
<!--一分钟触发一次-->
<!--<value>0 0/1 * * * ?</value>-->
<!--每天12点触发-->
<value>0 0 12 * * ?</value>
</property>
</bean>
<!-- 调度的配置结束 -->
<!-- job的配置开始 -->
<bean id="myJobDetail"
class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject">
<ref bean="myJob" />
</property>
<property name="targetMethod">
<value>execute</value>
</property>
</bean>
<!-- job的配置结束 -->
<!-- 工作的bean -->
<bean id="myJob" class="com.ihefe.nurses.common.task.task1.TestJob" />
<!--定时任务配置 end-->
3. JAVA类
public class TestJob {
private Logger logger = Logger.getLogger(TestJob.class);
public void execute(){
try{
logger.debug("job is executing......");
}catch(Exception ex){
ex.printStackTrace();
}
}
}