具体的步骤如下:
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
配置spring的applicationContext.xml文件
注意:关于设定的时间何时出发,这个定义方法可以上网搜索,在此不做太多说明。
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>
注意:关于设定的时间何时出发,这个定义方法可以上网搜索,在此不做太多说明。
本文详细介绍了如何使用 Spring 和 Quartz 实现定时任务,包括业务类实现、配置步骤及所需 jar 包。
1753

被折叠的 条评论
为什么被折叠?



