详解在Spring3中使用注解(@Scheduled)创建计划任务

作者:zoucui 时间:2022-11-14 15:39:34 

Spring3中加强了注解的使用,其中计划任务也得到了增强,现在创建一个计划任务只需要两步就完成了:

  1. 创建一个Java类,添加一个无参无返回值的方法,在方法上用@Scheduled注解修饰一下;

  2. 在Spring配置文件中添加三个<task:**** />节点;

最后说明一下,第一步创建的Java类要成为spring可管理的Bean,可以直接写在XML里,也可以@Component一下

示例如下

计划任务类:


/**
* com.zywang.spring.task.SpringTaskDemo.java
* @author ZYWANG 2011-3-9
*/
package com.zywang.spring.task;

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

/**
* Spring3 @Scheduled 演示
* @author ZYWANG 2011-3-9
*/
@Component
public class SpringTaskDemo {

@Scheduled(fixedDelay = 5000)
 void doSomethingWithDelay(){
   System.out.println("I'm doing with delay now!");
 }

@Scheduled(fixedRate = 5000)
 void doSomethingWithRate(){
   System.out.println("I'm doing with rate now!");
 }

@Scheduled(cron = "0/5 * * * * *")
 void doSomethingWith(){
   System.out.println("I'm doing with cron now!");
 }
}

Spring配置文件:


<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
 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.xsd
   http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-3.0.xsd">
 <!-- 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" />
</beans>

以上内容基于Spring 3.0.5 版本运行,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

来源:http://blog.csdn.net/zoucui/article/details/68490590

标签:spring,scheduled
0
投稿

猜你喜欢

  • 你知道在Java中Integer和int的这些区别吗?

    2023-09-04 02:50:18
  • Android实现分享功能

    2023-12-08 10:10:48
  • 一篇文章带你了解Maven的生命周期

    2022-04-22 10:40:22
  • Android实现信息弹出框

    2023-04-20 06:27:40
  • win10下配置java环境变量的方法

    2022-08-23 17:10:11
  • jenkins+maven+svn自动部署和发布的详细图文教程

    2023-08-24 05:18:07
  • Java打印斐波那契前N项的实现示例

    2022-12-03 21:18:10
  • C#实现按照指定长度在数字前补0方法小结

    2023-02-23 09:42:32
  • 基于C#实现微信支付宝扫码支付功能

    2023-09-24 04:53:49
  • spring boot如何使用AOP统一处理web请求

    2023-05-16 14:15:11
  • Android中获取IMEI码的方法

    2023-04-08 09:10:58
  • IDEA SpringBoot项目配置热更新的步骤详解(无需每次手动重启服务器)

    2023-11-12 00:22:41
  • Android开发实现的ViewPager引导页功能(动态加载指示器)详解

    2021-10-16 17:40:35
  • Java annotation元注解原理实例解析

    2022-09-08 00:42:45
  • Android Jetpack架构组件 ViewModel详解

    2021-09-08 00:29:20
  • IDEA使用GsonFormat完成JSON和JavaBean之间的转换

    2021-06-10 11:30:30
  • C# WebApi CORS跨域问题解决方案

    2022-12-21 05:01:33
  • Android 安全加密:数字签名和数字证书详解

    2023-07-25 21:36:46
  • Java实现将图片上传到webapp路径下 路径获取方式

    2023-07-10 12:44:13
  • Android基于HttpUrlConnection类的文件下载实例代码

    2022-08-28 02:18:49
  • asp之家 软件编程 m.aspxhome.com