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 * * * * ? "从左到右依次是:秒、分、小时、日、月、周、年

  • 相关阅读:
    单例模式中的懒汉式以及线程安全性问题
    单例模式中的饿汉模式
    自我管理的8个好习惯
    从java字节码角度看线程安全性问题
    工作上的建议
    从线程的优先级看饥饿问题
    多线程存在哪些风险
    DirectX SDK (June 2010)安装错误S1023,解决方法
    Microsoft DirectX SDK 2010 版本下载
    如果程序集是从 Web 上下载的,即使它存储于本地计算机,Windows 也会将其标记为 Web 文件,http://go.microsoft.com/fwlink/?LinkId=179545
  • 原文地址:https://www.cnblogs.com/linjiqin/p/4530311.html
Copyright © 2011-2022 走看看