精华内容
下载资源
问答
  • 在需要执行的函数位置写入注解@Scheduled @Component public class taskController { private static final SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss"); @Scheduled(fixedRate = 3000) /...

    在需要执行的函数位置写入注解@Scheduled

    @Component
    public class taskController {
        private static final SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");
    
        @Scheduled(fixedRate = 3000)    //单位为毫秒
        public void runScheduled(){
            System.out.println("当前时间:"+dateFormat.format(new Date()));
        }
    

    运行时,需要在SpringBootApplication文件中加入

    @EnableScheduling

    展开全文
  • Spring 注解定时任务,有如下两种方式: 第一种: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="......

    Spring 注解的定时任务,有如下两种方式:

    第一种:

    <?xml version="1.0" encoding="UTF-8"?>
    
    <beans xmlns="http://www.springframework.org/schema/beans"
    
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    
     xmlns:p="http://www.springframework.org/schema/p"
    
     xmlns:jee="http://www.springframework.org/schema/jee"  
    
     xmlns:tx="http://www.springframework.org/schema/tx"  
    
     xmlns:context="http://www.springframework.org/schema/context"  
    
     xmlns:aop="http://www.springframework.org/schema/aop"  
    
     xmlns:task="http://www.springframework.org/schema/task"
    
     xsi:schemaLocation="
      http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
      http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd  
         http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.0.xsd  
         http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd  
         http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd  
         http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-3.0.xsd
     ">
    <!-- 第一种方式-->
    	 <task:scheduled-tasks>
    	 	<!-- 说明:ref参数指定的即任务类,method指定的即需要运行的方法 -->
    	 	<task:scheduled ref="jobService" method="job1" cron="0/4 * * * * ?" />
    	 </task:scheduled-tasks>
    	 
    	 <!-- Spring 扫描注解,自动将用注解标注的类,就行实例化 -->
    	 
    	 <context:component-scan base-package="com.TimerWay.quartz3 " />
    </beans>

     

    package com.TimerWay.quartz3;
    
    import org.springframework.stereotype.Service; 
    
    @Service  
    public class JobService {  
          
        public void job1() {  
            System.out.println("任务进行中。。。");  
        }  
    }   

    第二种:

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
    
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    
     xmlns:p="http://www.springframework.org/schema/p"
    
     xmlns:jee="http://www.springframework.org/schema/jee"  
    
     xmlns:tx="http://www.springframework.org/schema/tx"  
    
     xmlns:context="http://www.springframework.org/schema/context"  
    
     xmlns:aop="http://www.springframework.org/schema/aop"  
    
     xmlns:task="http://www.springframework.org/schema/task"
    
     xsi:schemaLocation="
      http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
      http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd  
         http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.0.xsd  
         http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd  
         http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd  
         http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-3.0.xsd
     ">
    
    <!-- spring扫描注解的配置 -->  
         <context:component-scan base-package="com.TimerWay.quartz3" />  
         
         <!-- 配置 @Scheduled注解 -->
         <task:annotation-driven />
    </beans>

     

    package com.TimerWay.quartz3;
    
    import org.springframework.scheduling.annotation.Scheduled;
    import org.springframework.stereotype.Service;
    
    @Service("jobServiceTwo")
    public class JobServiceTwo {
    	@Scheduled(cron = "0/5 * * * * ?")  
        public void job1() {  
            System.out.println("任务进行中2。。。");
        }  
    }
    

     

    展开全文
  • System.out.println("定时任务1"); } @Scheduled(initialDelay = 1000 * 10,fixedRate = 1000 * 3) public void scheduledTask2(){ System.out.println("任务2执行时间:"+System.currentTimeMillis()); ...

    1.启动类 

    package com.vue;
    
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import org.springframework.scheduling.annotation.EnableScheduling;
    
    @EnableScheduling
    @SpringBootApplication
    public class Starter {
        public static void main(String[] args) {
            SpringApplication.run(Starter.class, args);
        }
    
    }
    

    2.定义类

    package com.vue.timedtask;
    
    import com.vue.dto.StudentInfo;
    import com.vue.mapper.TestMapper;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.scheduling.annotation.Scheduled;
    import org.springframework.stereotype.Component;
    
    @Component
    public class TimeTask {
    
        @Autowired
        private TestMapper  testMapper;
    
        @Scheduled(cron = "*/5 * * * * ?")
        public void scheduledTask(){
            System.out.println("定时任务1");
        }
        @Scheduled(initialDelay = 1000 * 10,fixedRate = 1000 * 3)
        public void  scheduledTask2(){
            System.out.println("任务2执行时间:"+System.currentTimeMillis());
            System.out.println("定时任务2");
            StudentInfo id = testMapper.findStudentById("二傻");
            System.out.println(id);
            try {
                Thread.sleep(2*1000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            System.out.println("任务2结束时间:"+System.currentTimeMillis());
        }
    
        @Scheduled(initialDelay = 1000 * 10,fixedRate = 1000 * 5)
        public void scheduledTask3(){
            System.out.println("任务3执行时间:"+System.currentTimeMillis());
            System.out.println("定时任务3");
            StudentInfo id = testMapper.findStudentById("庸俗");
            System.out.println(id);
            try {
                Thread.sleep(2*1000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            System.out.println("任务3结束任务:"+System.currentTimeMillis());
        }
    
    }
    

     运行结果

    展开全文
  • java 定时任务之一 @Scheduled注解(第一种方法)

    万次阅读 多人点赞 2017-12-12 22:09:22
    使用spring @Scheduled注解执行定时任务: 步骤: 1.xmlns 添加: http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-3.1.xsd xmlns:task=...

    (本文仅供参考)

    使用spring @Scheduled注解执行定时任务:

     

    步骤:

    1.xmlns 添加

    http://www.springframework.org/schema/task
    http://www.springframework.org/schema/task/spring-task-3.1.xsd
    xmlns:task="http://www.springframework.org/schema/task"

    2.注入:

    <task:annotation-driven/>

    3.注解写在实现类的方法上,实现类上要有组件的注解@Component

    @Scheduled(cron="0/5 * *  * * ? ")   //每5秒执行一次

    运行即可!!!


    关于Cron表达式介绍

    cronExpression定义时间规则,Cron表达式由6或7个空格分隔的时间字段组成:秒 分钟 小时 日期 月份 星期 年(可选)

    字段  允许值  允许的特殊字符 
    秒       0-59     , - * / 
    分       0-59     , - * / 
    小时      0-23     , - * / 
    日期      1-31     , - * ? / L W C 
    月份      1-12     , - * / 
    星期      1-7       , - * ? / L C # 
    年     1970-2099   , - * /

    “*”字符被用来指定所有的值。

    如:

    "*":字符在分钟的字段域里表示“每分钟”。 
    “?”:字符只在日期域和星期域中使用。它被用来指定“非明确的值”。

    当你需要通过在这两个域中的一个来指定一些东西的时候,它是有用的。看下面的例子你就会明白。 
    月份中的日期和星期中的日期这两个元素时互斥的一起应该通过设置一个问号来表明不想设置那个字段。

    “-”:字符被用来指定一个范围。如:“10-12”在小时域意味着“10点、11点、12点”。

    “,”:字符被用来指定另外的值。如:“MON,WED,FRI”在星期域里表示”星期一、星期三、星期五”。

    “/”:字符用于指定增量。

    如:“0/15”在秒域意思是每分钟的0,15,30和45秒。

    “5/15”在分钟域表示每小时的5,20,35和50。

    符号“*”在“/”前面(如:*/10)等价于0在“/”前面(如:0/10)。

    记住一条本质:表达式的每个数值域都是一个有最大值和最小值的集合,如:

    秒域和分钟域的集合是0-59,日期域是1-31,月份域是1-12。字符“/”可以帮助你在每个字符域中取相应的数值。如:“7/6”在月份域的时候只 有当7月的时候才会触发,并不是表示每个6月。

    L是‘last’的省略写法可以表示day-of-month和day-of-week域,但在两个字段中的意思不同,例如day-of- month域中表示一个月的最后一天。如果在day-of-week域表示‘7’或者‘SAT’,如果在day-of-week域中前面加上数字,它表示 一个月的最后几天,例如‘6L’就表示一个月的最后一个星期五。

    字符“W”只允许日期域出现。这个字符用于指定日期的最近工作日。例如:如果你在日期域中写 “15W”,表示:这个月15号最近的工作日。所以,如果15号是周六,则任务会在14号触发。如果15好是周日,则任务会在周一也就是16号触发。如果 是在日期域填写“1W”即使1号是周六,那么任务也只会在下周一,也就是3号触发,“W”字符指定的最近工作日是不能够跨月份的。字符“W”只能配合一个 单独的数值使用,不能够是一个数字段,如:1-15W是错误的。

    “L”和“W”可以在日期域中联合使用,LW表示这个月最后一周的工作日。

    字符“#”只允许在星期域中出现。这个字符用于指定本月的某某天。例如:“6#3”表示本月第三周的星期五(6表示星期五,3表示第三周)。“2#1”表示本月第一周的星期一。“4#5”表示第五周的星期三。

    字符“C”允许在日期域和星期域出现。这个字符依靠一个指定的“日历”。也就是说这个表达式的值依赖于相关的“日历”的计算结果,如果没有“日历” 关联,则等价于所有包含的“日历”。如:日期域是“5C”表示关联“日历”中第一天,或者这个月开始的第一天的后5天。星期域是“1C”表示关联“日历” 中第一天,或者星期的第一天的后1天,也就是周日的后一天(周一)。

    例子如下:

    0 0 10,14,16 * * ? 每天上午10点,下午2点,4点
    0 0/30 9-17 * * ?   朝九晚五工作时间内每半小时
    0 0 12 ? * WED 表示每个星期三中午12点 
    "0 0 12 * * ?" 每天中午12点触发 
    "0 15 10 ? * *" 每天上午10:15触发 
    "0 15 10 * * ?" 每天上午10:15触发 
    "0 15 10 * * ? *" 每天上午10:15触发 
    "0 15 10 * * ? 2005" 2005年的每天上午10:15触发 
    "0 * 14 * * ?" 在每天下午2点到下午2:59期间的每1分钟触发 
    "0 0/5 14 * * ?" 在每天下午2点到下午2:55期间的每5分钟触发 
    "0 0/5 14,18 * * ?" 在每天下午2点到2:55期间和下午6点到6:55期间的每5分钟触发 
    "0 0-5 14 * * ?" 在每天下午2点到下午2:05期间的每1分钟触发 
    "0 10,44 14 ? 3 WED" 每年三月的星期三的下午2:10和2:44触发 
    "0 15 10 ? * MON-FRI" 周一至周五的上午10:15触发 
    "0 15 10 15 * ?" 每月15日上午10:15触发 
    "0 15 10 L * ?" 每月最后一日的上午10:15触发 
    "0 15 10 ? * 6L" 每月的最后一个星期五上午10:15触发 
    "0 15 10 ? * 6L 2002-2005" 2002年至2005年的每月的最后一个星期五上午10:15触发 
    "0 15 10 ? * 6#3" 每月的第三个星期五上午10:15触发

    关于Cron表达式的介绍来源:

    http://blog.csdn.net/supingemail/article/details/22274279

    表达式网站生成:

    http://cron.qqe2.com/  直接点击

     

     

     

    展开全文
  • 开启定时任务注解:@EnableScheduling 为了方便,可以用在启动类上 执行任务间隔设置的这个注解:@Scheduled 查看其源码,可以发现有这么几个参数:cron、zone、fixedDelay、fixedDelayString、fixedRate、fix
  • Java定时任务

    2021-04-18 23:56:04
    这是Java自带的定时任务实现类,使用方便,无需任何其他的配置,通过重写TimerTask 类的run方法,可实现定时任务的具体执行任务。但是Timer在有多个定时任务时,如果定时任务执行时间长于任务定时间隔,将会影响其他...
  • java 定时任务

    2021-07-15 09:21:45
    @EnableScheduling //开启定时功能的注解,在入口函数的类上声明 @Scheduled //什么时候执行,在方法上加入 Cron表达式: // 秒 分 时 日 月 星期 @Scheduled(cron = "30 16 10 * * ?") public void hello() { ...
  • java定时任务

    2018-08-21 22:25:30
    java定时任务的实现有很多方式。 比如,开启一个单独的线程,按照自己的规则,一直循环执行。这种方式适用于简单的任务。 java还提供了定时任务相关的类。java.util.Timer和java.util.TimerTask,还有java.util....
  • 也就是说可以在方法上作用,或者在其他注解注释,这样另一个注解就有了定时任务的功能。 可以重复注释。当你描述不清需求的时候可以拆分成多个@Scheduled进行注释,但是注意当多个@Scheduled在同一时...
  • Java 定时任务quartz实现方式

    千次阅读 2020-04-30 11:28:44
    Java 定时任务quartz1. java自带 java.util.Timer 实现定时任务2. 使用线程池(ScheduledThreadPool-java.... 使用注解@Scheduled实现定时任务4. 使用Quartz定时任务调度器4.1 Quartz 特点4.2 核心概念4.3 常用对象4....
  • java定时任务的总结

    2021-01-07 11:55:06
    1.定时任务实现方式回顾 2.Springboot与Quartz 2.1如果是1.5.*则要使用以下添加依赖: 2.2SpringBoot版本2.X以后的,在spring-boot-starter中已经包含了quart的依赖。 3.@Scheduled介绍 4.基于上一章的代码环境...
  • Java定时任务除了上文中提到的quartz,还可以用spring自带的定时使用注解的方式来完成定时任务! 1、在spring.xml中添加一些必要配置 2、在类中的方法上面注释@Scheduled(cron = "") 3、运行结果(每秒...
  • java定时任务实现的几种方式

    万次阅读 多人点赞 2017-10-13 09:58:48
    摘要: 在开发测试工具的应用后台,经常听到同事说要做个定时任务把做日志处理,或者数据清理,包括做些复杂的业务计算逻辑,在选择定时任务的时候,怎么能够快速实现,并且选择一种更适合自己的方式呢?我这里把...
  • Springmvc java注解设置定时任务实例,利用 ScheduledExecutorService 接口实现
  • JAVA 定时任务的几种实现方式 JAVA实现定时任务的几种方式 @(JAVA)[spring|quartz|定时器]  近期项目开发中需要动态的添加定时任务,比如在某个活动结束时,自动生成获奖名单,导出excel等,此类任务由于活动时间是...
  • spring定时任务详解(@Scheduled注解

    万次阅读 多人点赞 2016-07-07 17:09:36
    在springMVC里使用spring的定时任务非常的简单,如下: (一)在xml里加入task的命名空间 xmlns:task="http://www.springframework.org/schema/task" ...
  • java定时任务的设置

    2019-07-29 10:53:33
    找到spring配置文件,通过启动时候加载配置文件加载定时任务 <!-- 扫描任务 --> <bean id="mytask" class="包名+类名com.fujia.test.DealTask"></bean> <task:scheduled-tasks> <!--...
  • 近期在使用emap开发中,碰到了定时任务,对这一特定工具,它的配置和网上的教程有一些不一样,这里做一个总结:
  • JAVA定时任务Timer、Spring Task、Quartz

    千次阅读 2017-07-06 16:48:05
    JAVA定时任务 作者:高志远 2017/6/25 2:23:23 一、什么是定时任务: 定时任务是指调度程序在指定的时间或周期触发执行的任务 使用场景:发送邮件、统计、状态修改、消息推送、活动开启、增量索引 二、定时...
  • java 定时任务之一 @Scheduled注解

    千次阅读 2018-07-20 18:38:22
    使用spring @Scheduled注解执行定时任务:       运行!!!     关于Cron表达式(转载)   表达式网站生成: http://cron.qqe2.com/ 直接点击     作者:...
  • java 定时任务之—— @Scheduled注解

    千次阅读 2018-07-25 16:00:07
    在写项目的时候经常需要特定的时间做一些特定的操作,尤其是游戏...使用spring @Scheduled注解执行定时任务: 1,在spring-MVC.xml文件中进行配置 2,直接在代码控制层使用即可 package xkhd.game.fix; imp...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 32,517
精华内容 13,006
关键字:

java定时任务注解

java 订阅