Java中任务调度实现方法

方式一:使用Spring Schedule任务调度实现

(主要是通过对任务类的注解配置,或者使用这里的xml配置实现)

注:采用这种方式的任务是单线程,即串行的,后面的任务会根据前面任务的执行时间往后顺延

  第一步:建立一个普通任务类

  

public class ScheduledJob {
     String nowtime="";
    /**
     * 要调度的具体任务
     /**
     * cron表达式:* * * * * *(共6位或7位,使用空格隔开,具体如下)
     * cron表达式:*(0-59) *(分钟0-59) *(小时0-23) *(日期1-31) *(月份1-12或是JAN-DEC) *(星期1-7或是SUN-SAT)
     * 定时卡点计算。每天凌晨 02:00 执行一次
     */

    //--第一个调度任务
    public void doJob1(){

        nowtime= DateFormatUtils.format(new Date(),"yyyy-MM-dd HH:mm:ss");
        System.out.println("ScheduledJob.doJob1 on:"+nowtime);
        try {
            Thread.sleep(10000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
    //--第二个调度任务
    public void doJob2(){

        nowtime= DateFormatUtils.format(new Date(),"yyyy-MM-dd HH:mm:ss");
        System.out.println("ScheduledJob.doJob2 on:"+nowtime);

    }

       第二步: 添加配置文件

   

<!--1. 自动任务-->
<task:executor id="executor" pool-size="5" />
<task:scheduler id="scheduler" pool-size="10" />
<!--  启动定时器,开启这个配置,spring才能识别@Scheduled注解     -->
<task:annotation-driven executor="executor" scheduler="scheduler"   />
<!--2. 配置作业类-->
<bean name="ScheduledJob" class="com.chencl.task.job.ScheduledJob"/>
<!--3. 配置任务列表-->
<task:scheduled-tasks>
    <!--定时任务:每天15:11:00执行一次-->
    <!--<task:scheduled ref="ScheduledJob" method="doJob1" cron="05 19 16 * * ?"   />-->
    <task:scheduled ref="ScheduledJob" method="doJob1" fixed-delay="2000"   />
    <!--频次任务:每隔5S执行一次-->
    <task:scheduled ref="ScheduledJob" method="doJob2" fixed-delay="5000" />
    <!--<task:scheduled ref="ScheduledJob" method="doJob2"  cron="10 19 16 * * ?" />-->
</task:scheduled-tasks>

    小结:这是最简单的方式,单线程,以上两步即可完成任务配置。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值