• java循环定时器@Scheduled的使用


    @Scheduled 注解   用于定时循环执行任务   

    1. fixedDelay控制方法执行的间隔时间(毫秒),是以上一次方法执行完开始算起,如上一次方法执行阻塞住了,那么直到上一次执行完,并间隔给定的时间后,执行下一次。上个过程结束后,等待300ms,执行下个过程
    2. fixedRate是按照一定的速率执行,是从上一次方法执行开始的时间算起,如果上一次方法阻塞住了,下一次也是不会执行,但是在阻塞这段时间内累计应该执行的次数,当不再阻塞时,一下子把这些全部执行掉,而后再按照固定速率继续执行。以固定300ms的频率执行某个过程,不管前面的过程是否还在进行,一般用于可以**独立、并行**的执行过程
    3. cron表达式可以定制化执行任务,但是执行的方式是与fixedDelay相近的,也是会按照上一次方法结束时间开始算起。
    4. initialDelay 如: @Scheduled(initialDelay = 10000,fixedRate = 15000,这个定时器就是在上一个的基础上加了一个initialDelay = 10000 意思就是在容器启动后,延迟10秒后再执行一次定时器,以后每15秒再执行一次该定时器。
    
    
    例如:
    
    @Scheduled(cron="0 */10 * * * ?")  表示每隔十分钟执行一次
    每隔5秒执行一次:"*/5 * * * * ?"
    
    每隔1分钟执行一次:"0 */1 * * * ?"  
    
    每天23点执行一次:"0 0 23 * * ?"
    
    每天凌晨1点执行一次:"0 0 1 * * ?"
    
    每月1号凌晨1点执行一次:"0 0 1 1 * ?"
    
    每月最后一天23点执行一次:"0 0 23 L * ?"
    
    每周星期天凌晨1点实行一次:"0 0 1 ? * L"
    
    在26分、29分、33分执行一次:"0 26,29,33 * * * ?"
    
    每天的0点、13点、18点、21点都执行一次:"0 0 0,13,18,21 * * ?"
    
    表示在每月的1日的凌晨2点调度任务:"0 0 2 1 * ? *"
    
    表示周一到周五每天上午10:15执行作业:"0 15 10 ? * MON-FRI" 
    
    表示2002-2006年的每个月的最后一个星期五上午10:15执行:"0 15 10 ? 6L 2002-2006

    //fixedRate 定义一个按一定频率执行的定时任务
        @Scheduled(fixedRate = 5000)
        public  void fixedRate(){
            System.out.println("每5毫秒执行fixedRate一次:"+ DateUtils.dateToString(new Date(),"yyyy-MM-dd HH:mm:ss"));
        }
     
        //fixedDelay 定义一个按一定频率执行的定时任务,与上面不同的是,改属性可以配合initialDelay, 定义该任务延迟执行时间。
        @Scheduled(fixedDelay = 5000)
        public  void fixedDelay(){
            System.out.println("每5毫秒执行fixedDelay一次:"+ DateUtils.dateToString(new Date(),"yyyy-MM-dd HH:mm:ss"));
        }
     
        @Scheduled(initialDelay = 1000,fixedRate = 5000)
        public void initialDelay(){
            System.out.println("华丽的分割符----"+DateUtils.dateToString(new Date(),"yyyy-MM-dd HH:mm:ss"));
        }
  • 相关阅读:
    [ASP.NET]ScriptManager控件使用
    [ASP.NET]使用uploadify上传图片,并在uploadify按钮上生成预览图
    [Javascript]js判断是否为undefined类型
    [Bug]转:使用jquery的 uploadify,在谷歌浏览器上总会崩溃的解决方法
    [NHibernate]Nhibernate如何映射sqlserver中image字段
    远程访问CENTOS的MYSQL数据库设置
    DELPHI的一些开源项目GIT地址
    unigui导出EXCEL使用NATIVEEXCEL
    IdHTTPServer(indy10)开发REST中间件
    centos7安装MYSQL
  • 原文地址:https://www.cnblogs.com/yydxh/p/11806158.html
Copyright © 2020-2023  润新知