您的位置:首页 > 其它

quartz任务调度框架实现任务定时执行,不传参的配置(一)

2017-06-28 20:17 656 查看
quartz是一个任务调度框架,可以用它来实现一些需要定时执行的任务。

本次实现的是spring配置整合quartz

1.配置如下:目标bean和bean中的方法需要自己定义,这个方法就是要执行的job(定时执行)

<!--使用MethodInvokingJobDetailFactoryBean,任务类可以不实现Job接口,通过targetMethod指定调用方法-->
<!-- 定义目标bean和bean中的方法 -->
<bean id="SpringQtzJob" class="cn.thinkjoy.LawDataForExcel.quartz.QuartzApplication"/>
<bean id="SpringQtzJobMethod" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean" lazy-init="true">
<property name="targetObject">
<ref bean="SpringQtzJob"/>
</property>
<property name="targetMethod">
<value>execute</value>
</property>
<!-- 同一任务在前一次执行未完成而Trigger时间又到时是否并发开始新的执行, 默认为true. -->
<property name="concurrent" value="false"/>
</bean>
<!--调度触发器
克隆表达式可以包括7个字段:秒、分、小时、月内日期、月、周内日期、年(可选字段)
每天下午5点半执行一次
0 30 17 * * ? *   0 */1 * * * ?
-->
<bean id="CronTriggerBean" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail" ref="SpringQtzJobMethod"/>
<property name="cronExpression" value="0 30 17 * * ? *"/>
</bean>

<!--调度工厂-->
<bean id="SpringJobSchedulerFactoryBean" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="CronTriggerBean"/>
</list>
</property>
</bean>

在main方法里调用

ApplicationContext context = new
ClassPathXmlApplicationContext("classpath*:spring/spring.xml");
Scheduler scheduler= (StdScheduler) context.getBean("SpringJobSchedulerFactoryBean");
scheduler.start();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐