zoukankan      html  css  js  c++  java
  • sping的@Schedule实现定时任务

    1.配置文件

      在spring配置文件中添加xmlns:task="http://www.springframework.org/schema/task"和在xsi:schemaLocation添加http://www.springframework.org/schema/task和                 http://www.springframework.org/schema/task/spring-task-3.0.xsd">

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p"
        xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:task="http://www.springframework.org/schema/task"
        xsi:schemaLocation="http://www.springframework.org/schema/beans  
          http://www.springframework.org/schema/beans/spring-beans-4.0.xsd  
          http://www.springframework.org/schema/context  
          http://www.springframework.org/schema/context/spring-context.xsd  
          http://www.springframework.org/schema/mvc  
          http://www.springframework.org/schema/mvc/spring-mvc.xsd
          http://www.springframework.org/schema/task
          http://www.springframework.org/schema/task/spring-task-3.0.xsd">
    
        <context:property-placeholder
            ignore-unresolvable="true" location="classpath*:/config.properties" />
    
        <!-- 自动扫描包 -->
        <context:component-scan base-package="cn.com.prac.controller" />
        <!-- 启动定时任务的注解驱动 -->
        <task:annotation-driven /> 
        <!-- 配置定时任务的线程池 -->
        <task:scheduler id="myScheduler" pool-size="5" />
        
        ......
    
    </beans>

    2.定时任务类

    package cn.com.prac.controller;
    
    import org.springframework.scheduling.annotation.Scheduled;
    import org.springframework.stereotype.Component;
    
    @Component
    public class ScheduleTest {
    
        @Scheduled(cron="* * * * * ?")
        public void test(){
            System.out.println("--------测试:每秒执行一次");
        }
        
        @Scheduled(cron="0/5 * * * * ?")
        public void test2(){
            System.out.println("--------测试:每5秒执行一次");
        }
    }

     3.不用配置文件,使用@EnableScheduling,@Component,@Scheduled注解

    @EnableScheduling:启对计划任务的支持,@Component:定义spring管理Bean,@Scheduled:该方法是计划任务

    package cn.com.prac.controller;
    
    import org.springframework.scheduling.annotation.EnableScheduling;
    import org.springframework.scheduling.annotation.Scheduled;
    import org.springframework.stereotype.Component;
    
    @EnableScheduling
    @Component
    public class ScheduleTest {
    
        @Scheduled(cron="* * * * * ?")
        public void test(){
            System.out.println("--------测试:每秒执行一次");
        }
        
        @Scheduled(cron="0/5 * * * * ?")
        public void test2(){
            System.out.println("--------测试:每5秒执行一次");
        }
    }
  • 相关阅读:
    python 写入txt的新方法
    python 对excel进行截图
    python 关于excel弹窗——请注意,您的文档的部分内容可能包含了文档检查器无法删除的个人信息解决方法
    python win32com 读取带密码的excel
    移动硬盘——显示盘符但打不开
    python datetime和time的一些疑惑解答 及 获取上年同期、上月等日期
    pyinstaller 打包exe程序读不到配置文件No such file
    Python之——爱心代码参与情人节
    《易学设计模式》-笔记
    "高级"数据库小结
  • 原文地址:https://www.cnblogs.com/-scl/p/7798648.html
Copyright © 2011-2022 走看看