spring整合quartz实现定时任务(调度)

quartz实现
  • quartz依赖包

    org.quartz-scheduler quartz 1.8.6

1.首先配置一个定时任务执行类
package com.kunming.jobs;

import com.kunming.service.WsService;
import org.apache.log4j.Logger;

import java.util.Date;

/**
* 定时任务传输昆明数据
* Created by Administrator on 2018/3/12.
*/

public class DataTransferJob {

private static Logger logger = Logger.getLogger(DataTransferJob.class);

private WsService wsService;

public void execute(){
    logger.info(" [获取人工检测记录] 开始 at:" + new Date());
    wsService.getManualCheckData();
    logger.info(" [获取人工检测记录] 结束 at:" + new Date());
    logger.info(" [获取走形公里] 开始 at:" + new Date());
    wsService.getMileage();
    logger.info(" [获取走形公里] 结束 at:" + new Date());

}

public WsService getWsService() {
    return wsService;
}

public void setWsService(WsService wsService) {
    this.wsService = wsService;
}

}
2.在spring配置文件添加如下配置

<bean id="dataTransferJob" class="com.kunming.jobs.DataTransferJob" >
    <property name="wsService" ref="wsService"/> //容器控制定时任务类,产生对象,注入依赖对象
</bean>
<bean id="dataTransferJobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
    <property name="targetObject">
        <ref bean="dataTransferJob" /> //任务细节 ,注入任务对象
    </property>
    <property name="targetMethod">
        <value>execute</value>//任务对象执行方法
    </property>
    <property name="concurrent">
        <value>false</value>//配置同一个任务依次执行,不重叠
    </property>
</bean>
<bean id="dataTransferTrigger"
    class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
    <property name="jobDetail">
        <ref local="dataTransferJobDetail" />//任务执行触发器,注入任务细节
    </property>
    <property name="cronExpression">
        <!--<value>0 0/5 /1 * * ? </value>-->
        <value>0 0 0 1/1 * ? </value>//任务执行周期表达式 ,cron表达式触发器,也有频率简单触发器
    </property>
</bean>

<bean id="scheduler2" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"
      lazy-init="false" autowire="no">
    <property name="triggers">
        <list>
            <ref local="dataTransferTrigger" />//任务调度工厂对象,注入任务触发器对象
        </list>
    </property>
    <property name="autoStartup">//自动开始
        <value>true</value>
    </property>
</bean>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值