`
hoho922
  • 浏览: 32355 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

spring任务调度Quartz

阅读更多
具体的步骤如下:
1 首先编写业务类,该类继承了org.springframework.scheduling.quartz.QuartzJobBean,主要的逻辑在executeInternal方法中编写
2 配置spring的applicationContext.xml文件
    2.1 在spring配置文件中申明这个业务,配置任务JobDetailBean
   2.2在spring配置文件中配置调度工作,即,配置触发器 CronTriggerBean
   2.3调度一个cron工作,即,配置调度器  SchedulerFactoryBean
3 所需要的jar包:
         spring.jar,quartz.jar,commons-logging-1.0.4.jar,commons-dbcp-1.2.2.jar,commons-pool-1.3.jar

以下本人的一个demo
package com.thinkway.erp360.presentation.web.controller.sap;

import org.springframework.scheduling.quartz.QuartzJobBean;
import com.thinkway.erp360.business.service.iface.SalesOrderDeliverService;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
public class DailySynSalesOrderDeliverJob extends QuartzJobBean {
	
	public DailySynSalesOrderDeliverJob(){}
	
		protected void executeInternal(JobExecutionContext jobContext)
			throws JobExecutionException {
       //业务处理-----
		salesOrderDeliverService.createSalesOrderDeliver();
		
	}
	private SalesOrderDeliverService salesOrderDeliverService = null;
	public SalesOrderDeliverService getSalesOrderDeliverService() {
		return salesOrderDeliverService;
	}
	public void setSalesOrderDeliverService(
			SalesOrderDeliverService salesOrderDeliverService) {
		this.salesOrderDeliverService = salesOrderDeliverService;
	}

}



配置spring的applicationContext.xml文件
<!-- 声明调度工作 -->
<bean id="dailySynSalesOrderDeliverJob" class="org.springframework.scheduling.quartz.JobDetailBean">
   <property name="jobClass" value="com.thinkway.erp360.presentation.web.controller.sap.DailySynSalesOrderDeliverJob" />
   <property name="jobDataAsMap">
     <map>
        <entry key="salesOrderDeliverService" value-ref="salesOrderDeliverService"/>
     </map>
    </property>
</bean>

 <!-- 调度一个cron工作 定为每天晚上11:59执行-->
<bean id="cronSynTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
   <property name="jobDetail" ref="dailySynSalesOrderDeliverJob" />
   <property name="cronExpression" value="0 59 0 * * ?" />
</bean>
<!-- 启动定时调度 -->
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
   <property name="triggers">
    <list>
      <ref bean="cronSynTrigger"/>
    </list>
   </property>
</bean>



注意:关于设定的时间何时出发,这个定义方法可以上网搜索,在此不做太多说明。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics