Spring-task-timer定时器

 · spring定时控制器配置文件实现方式

    一. 编写一个正常的业务类

public class SyncDataTaskTimer {

    private final static Logger log = Logger.getLogger(SyncDataTaskTimer.class); 

    /**
     * 同步组织
     */
    public void syncOrg(){
        log.info("同步组织:"+System.currentTimeMillis());
    }
    /**
     * 同步用户
     */
    public void syncUser(){
        log.info("同步用户:"+System.currentTimeMillis());
    }

}

  二. applicationContext-task.xml配置文件

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:aop="http://www.springframework.org/schema/aop"
    xmlns:tx="http://www.springframework.org/schema/tx"
    xmlns:jee="http://www.springframework.org/schema/jee"
    xmlns:task="http://www.springframework.org/schema/task"
    xsi:schemaLocation="
    http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee.xsd
    http://www.springframework.org/schema/context
     http://www.springframework.org/schema/context/spring-context-3.0.xsd
    http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-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/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
    http://www.springframework.org/schema/task
    http://www.springframework.org/schema/task/spring-task-3.0.xsd">

    <!-- spring定时任务配置项 -->
    <bean id="scheduledTask" class="org.springframework.scheduling.timer.ScheduledTimerTask"/>

    <!-- 同步ipm数据-定时任务配置 -->
    <bean id="syncDataTaskTimer" class="cn.chinaunicom.pmis.interfaces.ipm.server.task.SyncDataTaskTimer"/>

    <!-- 任务时间项配置 -->
    <task:scheduled-tasks>
        <task:scheduled ref="syncDataTaskTimer" method="syncOrg" cron="0 30 23 * * ?"/>
        <task:scheduled ref="syncDataTaskTimer" method="syncUser" cron="0 40 23 * * ?"/>
    </task:scheduled-tasks>
    

  三. applicationContext.xml 引用

<!-- 支持自带定时任务配置 -->
<import resource="applicationContext-task.xml" />

  注:这里把spring的配置文件进行了拆分。

----------------------------------------分割线-----------------------------------------

  · 难点解析

  一. cron语法

    <task:scheduled ref="syncDataTaskTimer" method="syncOrg" cron="0 30 23 * * ?"/>

     cron="0 30 23 * * ?"意思为每天的23点30分执行一次。

    cron语法使用和字符解释

      cron的使用语法

        

* * * * * * [*]
[年]

  

  

时间: 2024-10-06 16:19:16

Spring-task-timer定时器的相关文章

java Quartz定时器任务与Spring task定时的几种实现,

java Quartz定时器任务与Spring task定时的几种实现 基于java 的定时任务实现, Quartz 时间详细配置    请查阅   http://www.cnblogs.com/sihuanian/p/5010872.html Quartz 时间简单介绍    请查阅最底部 spring框架来介绍. 一.分类 从实现的技术上来分类,目前主要有三种技术(或者说有三种产品): Java自带的java.util.Timer类,这个类允许你调度一个java.util.TimerTask

Spring Task 定时器

尝试着用quartz写个定时器,结果失败了,项目一直在报错. 于是用spring task写了一个小例子.很简单的实现了每分钟都输出时间的功能. 1:POJO 这是个很简单的类,输出时间. @component  我们就不需要在配置bean了,@Scheduled是定义了调度,就是定好时间后 需要做的工作.cron是时间 @Scheduled(cron = "0 * 20 * * ?")分别是 0 * 20 秒 分钟 小时 * * ? 就说日期了, 天 月 年.我这里写的0 * 20

运用spring task定时器发布定时任务

在项目中遇到了需要每天定时执行的任务,查了好多,最终运用Spring Task定时器解决了此问题.实在是太赞了. 首先在spring.xml中确定以下内容: 自动扫描的包,定时器注解 spring.xml确认好以后,开始写定时类和方法(类在被扫描的包下): ok,现在可以执行任务了. 注意内容:类上必须要有组件注释  @Component 定时方法必须要有注释 @Scheduled(cron="* * * * * ?") 定时任务不能有返回值 现在我们需要了解的就是cron表达式了,下

Spring Task定时任务

Spring Task定时任务 1.基于Spring Task的任务调度方法: Spring框架自带的异步执行(TaskExecutor)和任务调度(TaskScheduler)接口. Spring Task官方地址: http://docs.spring.io/spring/docs/current/spring-framework-reference/html/scheduling.html 以下是task任务调度配置:spring-tasks.xml <?xml version="1

java Timer定时器管理类

1.java timer类,定时器类.启动执行定时任务方法是timer.schedule(new RemindTask(), seconds*1000);俩参数分别是TimerTask子类,具体执行定时操作所执行的动作,后一个参数是豪秒,代表间隔多久执行一次.2.TimerTask类,java.util.TimerTask,具体定时执行的操作.里面有个run方法,和线程run方法一样(就是线程).5.Timer是一种定时器工具,用来在一个后台线程计划执行指定任务.它可以计划执行一个任务一次或反复

Spring Task 定时任务

推荐使用基于配置XML的形式 !!!      //首先要定义schema 空间      <?xml version="1.0" encoding="UTF-8"?>           <beans xmlns="http://www.springframework.org/schema/beans"               xmlns:xsi="http://www.w3.org/2001/XMLSchema

Spring task配置,及解决加载两次的方法

? 关于 启动Task任务同时加载两次的解决方法:? 将spring MVC部分的定义另外建立一个文件,同时把Task配置放在此处,然后在web.xml文件中的处加载 <servlet> <servlet-name>SpringMVC</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-pa

spring自带定时器

http://www.cnblogs.com/pengmengnan/p/6714203.html 注解模式的spring定时器1 , 首先要配置我们的spring.xmlxmlns 多加下面的内容.xmlns:task="http://www.springframework.org/schema/task " 然后xsi:schemaLocation多加下面的内容.1. http://www.springframework.org/schema/task 2. http://www.

Spring Task定时任务的配置和使用详解

spring中使用定时任务 1.基于xml配置文件使用定时任务 首先配置spring开启定时任务 <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:task

关于Spring定时任务(定时器)用法

Spring定时任务的几种实现 Spring定时任务的几种实现 一.分类 从实现的技术上来分类,目前主要有三种技术(或者说有三种产品): 从作业类的继承方式来讲,可以分为两类: 从任务调度的触发时机来分,这里主要是针对作业使用的触发器,主要有以下两种: 二.用法说明 Quartz 第一种,作业类继承自特定的基类:org.springframework.scheduling.quartz.QuartzJobBean. 第二种,作业类不继承特定基类. Spring-Task 第一种:配置文件方式 第