`

spring @Scheduled注解执行定时任务

阅读更多
spring @Scheduled注解方式配置定时器


在sping配置文件中:
配置注解扫描:

<!-- 配置注解扫描 -->
<context:annotation-config/>
<context:component-scan base-package="demo.test" />

<!--配置sping定时器开关 -->
<task:annotation-driven/>

    <!-- Spring定时器注解开关(可以不添加) -->  
 
    <!-- 此处对于定时时间的配置会被注解中的时间配置覆盖,因此,以注解配置为准 -->  
    <task:scheduled-tasks scheduler="myScheduler">  
        <task:scheduled ref="scheduledTaskManager" method="autoCardCalculate" cron="1/5 * * * * *"/>  
    </task:scheduled-tasks>  
    <task:scheduler id="myScheduler" pool-size="10"/>  


执行任务的POJO类如下:

package com.demo.schedule;

import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.util.Date;
/**
 * Created with IntelliJ IDEA.
 * Author: 
 * Date: 2013-10-09 14:39
 * Function: Spring定时任务管理
 */
@Component("scheduledTaskManager")
public class ScheduledTaskManager {
    /**
     * cron表达式:* * * * * *(共6位,使用空格隔开,具体如下)
     * cron表达式:*(秒0-59) *(分钟0-59) *(小时0-23) *(日期1-31) *(月份1-12或是JAN-DEC) *(星期1-7或是SUN-SAT)
     */

    /**
     * 定时卡点计算。每天凌晨 02:00 执行一次
     */
    @Scheduled(cron = "0 0 2 * * *")
    public void autoCardCalculate() {
        System.out.println("定时卡点计算... " + new Date());
    }

    /**
     * 心跳更新。启动时执行一次,之后每隔1分钟执行一次
     */
    @Scheduled(fixedRate = 1000*60*1)
    public void heartbeat() {
        System.out.println("心跳更新... " + new Date());
    }

    /**
     * 卡点持久化。启动时执行一次,之后每隔2分钟执行一次
     */
    @Scheduled(fixedRate = 1000*60*2)
    public void persistRecord() {
        System.out.println("卡点持久化... " + new Date());
    }
}

分享到:
评论

相关推荐

    使用spring @Scheduled注解执行定时任务

    Cron 表达式是一种用于配置定时任务执行规则的标准格式,通常由六个或七个空格分隔的时间元素组成,分别代表秒、分、小时、日、月、周和年。其中,“?”、“,”、“-”、“/”等符号具有特定含义,用于表达不同的...

    Spring @Scheduled定时任务动态修改cron参数

    通过结合Spring的事件系统和反射技术,我们可以实现定时任务的动态配置,使得应用在运行时能够根据需求调整任务执行的频率。这在许多场景下都是非常有用的,比如监控、数据同步和其他需要定期执行的操作。

    Spring Boot中的@Scheduled注解:定时任务的原理与实现

    ### Spring Boot中的@Scheduled注解:定时任务的原理与实现 #### 一、引言 在现代软件开发中,定时任务是一种非常常见的需求。无论是数据同步、定期清理缓存还是发送提醒邮件,都需要应用程序能够在特定的时间点...

    Spring定时任务@Scheduled例子

    在Spring框架中,定时任务是实现自动化操作的重要组成部分,它允许开发者在预设的时间间隔执行特定的任务。`@Scheduled`注解是Spring提供的一个强大工具,用于声明式地配置定时任务,无需编写复杂的线程管理和调度...

    spring boot @scheduled定时任务配置

    在Spring Boot框架中,`@Scheduled`注解是用于创建定时任务的重要工具,它使得开发者无需依赖外部的任务调度器如Quartz或CronJob,就能在应用内部轻松地实现周期性的任务执行。这个特性极大地简化了Java应用中的定时...

    SpringBoot中使用@Scheduled注解创建定时任务的实现

    SpringBoot中使用@Scheduled注解创建定时任务的实现 SpringBoot中使用@Scheduled注解创建定时任务的实现是指在SpringBoot项目中使用@Scheduled注解来实现定时任务的方法。在SpringBoot项目中,使用@Scheduled注解...

    spring-boot通过@Scheduled配置定时任务及定时任务@Scheduled注解的方法

    "spring-boot通过@Scheduled配置定时任务及定时任务@Scheduled注解的方法" Spring Boot 中的定时任务是通过 @Scheduled 注解来实现的,该注解可以将方法标记为定时任务,Spring Boot 会自动发现并执行这些方法。@...

    详解Spring Boot中使用@Scheduled创建定时任务

    Spring Boot 框架为我们提供了多种方式来创建定时任务,其中一种方式是使用 @Scheduled 注解。@Scheduled 是 Spring Framework 中的一种注解,用于标记需要定时执行的方法。今天,我们将详细介绍如何使用 @Scheduled...

    Spring boot如何通过@Scheduled实现定时任务及多线程配置

    `@Scheduled` 注解是 Spring Framework 提供的一种注解,用于标记需要执行定时任务的方法。该注解可以与 `@EnableScheduling` 注解一同使用,以启用定时任务的功能。 要使用 `@Scheduled` 注解,首先需要在配置类上...

    spring 定时任务@Scheduled详解

    在Spring框架中,定时任务是通过`@Scheduled`注解实现的,该注解提供了灵活的方式来安排任务在特定时间执行。下面将详细讲解如何配置和使用`@Scheduled`,以及其相关的cron表达式。 首先,要启用Spring的定时任务...

    @scheduled任务调度使用详解及@scheduled与多线程和@Async异步任务结合使用

    在Spring Boot框架中,`@Scheduled`注解是用于实现定时任务的核心工具,它使得开发者可以轻松地在应用中设置周期性的任务执行。本篇文章将深入讲解`@Scheduled`的使用方法,以及如何将其与多线程和`@Async`异步任务...

    @ScheduleTask注解实现定时任务,带分布式锁

    首先,`@ScheduleTask` 是一种模拟Spring框架中的 `@Scheduled` 注解的用法,用于标记方法作为定时任务。该注解通常包含参数如 `cron` 表达式,用于定义任务的执行时间。例如: ```java @ScheduleTask(cron = "0 0/...

    SpringBoot执行定时任务@Scheduled的方法

    Spring Boot 执行定时任务 @Scheduled 的方法 Spring Boot 提供了对定时任务的支持,...Spring Boot 中的 @Scheduled 注解提供了灵活的定时任务执行方式,可以根据不同的需求,选择合适的执行规则,以满足业务需求。

    Spring-task定时任务

    1. **@Scheduled注解** - `@Scheduled`是Spring-task的核心注解,用于标记一个方法为定时任务。例如: ```java @Component public class ScheduledTasks { @Scheduled(fixedRate = 5000) public void ...

    IDEA使用springboot自带scheduled实现任务调度

    在Java开发领域,Spring Boot框架以其便捷的特性深受开发者喜爱,而Spring Boot集成的Scheduled功能则为开发者提供了定时任务调度的能力。本篇文章将详细介绍如何在IDEA中利用Spring Boot的Scheduled来实现任务调度...

    Spring定时任务实现(非Web项目)

    System.out.println("定时任务执行了"); } } ``` 这里的`fixedRate`属性指定了任务执行的间隔时间。 3. **启动应用**:确保你的应用正常启动后,Spring的定时任务就会按照设定自动开始执行。 此外,`@Scheduled`...

    Spring定时任务(Web项目)

    二、@Scheduled注解使用 1. 配置启用定时任务 首先,我们需要在Spring配置类上添加`@EnableScheduling`注解,开启定时任务的扫描。 ```java import org.springframework.scheduling.annotation.EnableScheduling; ...

    Spring 定时任务源码(spring 三种定时任务的实现方式)

    TaskExecutor接口是Spring提供的一个异步任务执行接口,它并不直接支持定时任务,但可以通过配合ScheduledExecutorService或者ThreadPoolTaskScheduler来实现定时任务。ScheduledExecutorService是Java的并发库提供...

    springMVC定时任务task方式实例代码

    2. **@Scheduled注解** `@Scheduled`是Spring的定时任务注解,可以设置多个参数: - `cron`:基于Cron表达式定义任务执行时间,如`cron = "0 0/5 * * * ?"`表示每5分钟执行一次。 - `fixedRate`:以毫秒为单位...

    spring注解Quartz定时执行功能

    System.out.println("定时任务执行:" + new Date()); // 在这里编写你的业务逻辑 } @Override public void execute(JobExecutionContext context) throws JobExecutionException { this.executeTask(); } }...

Global site tag (gtag.js) - Google Analytics