当前位置: 首页 > 编程笔记 >

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

柯良骏
2023-03-14
本文向大家介绍详解在Spring3中使用注解(@Scheduled)创建计划任务,包括了详解在Spring3中使用注解(@Scheduled)创建计划任务的使用技巧和注意事项,需要的朋友参考一下

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 版本运行,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。

 类似资料:
  • 本文向大家介绍Spring计划任务用法实例详解,包括了Spring计划任务用法实例详解的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Spring计划任务用法。分享给大家供大家参考,具体如下: 一 点睛 从Spring3.1开始,计划任务在Spring中的实现变得异常的简单。只需要下面两步。 1 通过在配置类上注解@EnableScheduling来开启对计划任务的支持。 2 在要执行计划

  • 问题内容: 我已经使用Spring Framework的注释创建了一个简单的计划任务。 现在,当不再需要时,我想停止此任务。 我知道在此方法开始时可能有一种方法可以检查一个条件标志,但这不会停止执行此方法。 Spring提供了什么来停止任务? 问题答案: 选项1:使用后处理器 为应停止调度的bean 提供并显式调用。 选项2:维护目标豆与其未来的映射 当必须停止对bean的调度时,可以查找该映射以

  • 我想用c语言在Windows上创建一个任务调度器,我研究了这个主题,发现了微软提供的任务调度器接口。我能够使用C成功地创建计划任务。但是,由于限制,我只能使用C来完成这个任务,而且似乎只为C提供了接口。我试图研究这个问题,但找不到任何结果。可以用C语言在Windows中创建计划任务吗?

  • 我正在从事一个Spring Webflux项目,在计划任务中发布和使用Flux时遇到了一个问题。 我配置的调度程序: 除非我在最后故意阻止,否则这项任务永远不会完成: 我最初没有费心直接引用发布/订阅计划程序,我尝试了所有看似合理但没有效果的选项。 我的日志事件发生了,但当来自调度程序的该任务的线程死亡时,通量也会被丢弃;即使在我指定发布和订阅行为后,它们应该在自己的线程池中? 我想使这个行动完全

  • 主要内容:1 调用EXPLAIN,2 EXPLAIN中的列,2.1 id,2.2 select_type,2.3 table,2.4 type,2.5 possible_keys,2.6 key,2.7 key_len,2.8 ref,2.9 rows,2.10 Extra详细介绍了MySQL EXPLAIN执行计划的各个字段的含义以及使用方式。 调用EXPLAIN可以获取关于查询执行计划的信息,以及如何解释输出。EXPLAIN命令是查看查询优化器如何决定执行查询的主要方法,但该动能也有局限性,

  • 计划 httpjob 任务的定义 一次性的 job 只运行一次 1. 进入hangfire的后台 点击 左侧栏【计划】 会看到一个按钮名称叫 【新增常规作业】如下图所示: 2. 点击【新增常规作业】会出现一个json编辑器 如下图所示 json 编辑器的参数说明如下 字段名称 备注 JobName 你给这个httpjob起的名称【必填项】 Method 这个httpjob的请求方式 "get" 或