zoukankan      html  css  js  c++  java
  • spring定时任务轮询(spring Task)

    定时任务轮询比如任务自服务器启动就开始运行,并且每隔5秒执行一次。

    以下用spring注解配置定时任务。
    1、添加相应的schema

    xmlns:task="
    xsi:schemaLocation="
        http://www.springframework.org/schema/task 
        http://www.springframework.org/schema/task/spring-task-3.0.xsd"
    

      

    完整schema如下:

    <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-3.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-3.0.xsd
          http://www.springframework.org/schema/task          
    	  http://www.springframework.org/schema/task/spring-task-3.0.xsd">
    </beans>
    

      

    2、配置自动调度的包和定时开关

    <!-- 注解扫描包 -->
    <context:component-scan base-package="com.ljq.web.controller.annotation" />
    <!-- Enables the Spring Task @Scheduled programming model --> 
    <task:executor id="executor" pool-size="5" /> 
    <task:scheduler id="scheduler" pool-size="10" /> 
    <task:annotation-driven executor="executor" scheduler="scheduler" />
    

      

    3、添加调度测试类

    package com.ljq.web.controller.annotation;
    
    import org.springframework.scheduling.annotation.Scheduled;
    import org.springframework.stereotype.Service;
    
    /**
     * 调度测试类(每隔5秒执行一次)
     * 
     * @author Administrator
     *
     */
    @Service
    public class TaskTest {
    	@Scheduled(cron = "0/5 * * * * ? ")
    	public void myTestWork() {
    		System.out.println(System.currentTimeMillis());
    	}
    }
    

      

    备注:cron = "0/5 * * * * ? "从左到右依次是:秒、分、小时、日、月、周、年

  • 相关阅读:
    4月4日 python学习总结 os pickle logging
    4月3日 python学习总结
    4月2日 python学习总结
    【Vue】vue递归组件实现多级列表
    用原生html与js写一个dialog
    【Vue】filters过滤器中不能使用this的解决方案
    【Vue】Vue中data重置问题
    【Vue】Vue渲染模板时怎么保留模板中的HTML注释
    【Vue】在 Vue 中使用 JSX
    【Vue】在.vue文件中style是必须的吗?那script是必须的吗?为什么?——函数式组件
  • 原文地址:https://www.cnblogs.com/linjiqin/p/4530311.html
Copyright © 2011-2022 走看看