`
mimang2007110
  • 浏览: 232752 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

Spring自己的轻量级定时器的两种实现方式

 
阅读更多

Spring自己本身的轻量级定时器的两种实现方式:配置式和注解式

一、配置式,实现方式如下:

1、新建一个类:

package com.wkx.task;

import org.springframework.stereotype.Service;

/**
 * <任务测试类--配置>
 * <功能详细描述>
 * @author  wenkaixuan
 * @version  [版本号, 2013-3-4]
 * @see  [相关类/方法]
 * @since  [产品/模块版本]
 */
@Service
public class TaskJob
{
    public void job1()
    {
        System.out.println("配置任务");
    }
}

 在spring配置文件中配置如下:

<!--  定时器配置 
  --> 
- <task:scheduled-tasks>
  <task:scheduled ref="taskJob" method="job1" fixed-rate="3000" /> 
- <!--  每隔三秒执行一次 
  --> 
- <!--  <task:scheduled ref="taskJob" method="job1" cron="50 10 17 ? * *"/> 
  --> 
- <!--  每天17点10分50秒执行一次 
  --> 
  </task:scheduled-tasks>

 

二、注解式,实现方式如下:

1、新建一个类

package com.wkx.task;

import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

/**
 * <任务测试类--注解>
 * <功能详细描述>
 * @author  wenkaixuan
 * @version  [版本号, 2013-3-4]
 * @see  [相关类/方法]
 * @since  [产品/模块版本]
 */
@Component("taskJob2")
public class TaskJob2
{
    // @Scheduled(fixedRate = 2000) // 每隔两秒执行一次
    @Scheduled(cron = "50 45 17 ? * *") // 每天的17点45分50秒执行一次
    public void job2()
    {
        System.out.println("注解任务");
    }
}

 2、在spring中的配置如下:

<!-- spring注解扫描 -->
<context:annotation-config /> 
<!--  定时器扫描的包 
  --> 
  <context:component-scan base-package="com.wkx.task" />
<!--  注解任务所需 
  --> 
  <task:annotation-driven scheduler="qbScheduler" mode="proxy" /> 
  <task:scheduler id="qbScheduler" pool-size="10" /> 

 关键类请查阅附件

 

 

 

 

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics