SpringBoot 中使用计划任务

在 SpringBoot 中使用 @Scheduled 十分简单,只需在方法上加上 @Scheduled 注释即可。

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

@Component
public class XXXTask {

    @Scheduled(fixedDelay = 60 * 1000)
    @Transactional
    public void run() {
        // 省略部分代码
    }

}
public @interface Scheduled {
    String cron() default ""; // cron 表达式

    String zone() default ""; // 时区

    long fixedDelay() default -1L; // 上一次执行完毕后等待毫秒数后执行

    String fixedDelayString() default "";

    long fixedRate() default -1L; // 上一次开始执行后等待毫秒数后执行

    String fixedRateString() default "";

    long initialDelay() default -1L; // 第一次在项目启动成功后等待毫秒数执行

    String initialDelayString() default "";
}

fixedDelayString fixedRateString initialDelayString 后面加 String 的意义

源码位置:org/springframework/spring-context/5.0.5.RELEASE/spring-context-5.0.5.RELEASE.jar!/org/springframework/scheduling/annotation/ScheduledAnnotationBeanPostProcessor.class:240

private static long parseDelayAsLong(String value) throws RuntimeException {
    return value.length() <= 1 || !isP(value.charAt(0)) && !isP(value.charAt(1)) ? Long.parseLong(value) : Duration.parse(value).toMillis();
}

private static boolean isP(char ch) {
    return ch == ‘P‘ || ch == ‘p‘;
}

原文地址:https://www.cnblogs.com/StarUDream/p/9045545.html

时间: 2024-10-10 07:40:14

SpringBoot 中使用计划任务的相关文章

SpringBoot中使用Spring Data Jpa 实现简单的动态查询的两种方法

首先谢谢大佬的简书文章:http://www.jianshu.com/p/45ad65690e33# 这篇文章中讲的是spring中使用spring data jpa,使用了xml配置文件.我现在使用的是spring boot ,没有了xml文件配置就方便多了.我同样尝试了两种方式,也都是简单的查询,需要更复杂的查询,还需要我研究研究.往下看,需要先配置springboot的开发环境,需要大致了解springboot,这里可以看下面两篇文章: springboot 项目新建 springboot

在Yii2.0中实现计划任务(cron)

以下由我们在信易网络公司开发项目的时候终结出的一些经验 Create console application 创建命令行应用 In advance template there is already a file yii. And there is no need to run it as php, it is Linux script. 在高级模版中的 yii 文件,它是一个 Linux 脚本,不需要使用PHP来运行. Create cron service command 创建计划任务服务命

一个想法(续五):IT联盟创业计划:现阶段进度公示、疑问解答及进行中的计划

前言: 首先今天是元宵节,先祝大伙元宵节快,单纯的快乐! 然后看看开展中的计划: IT联盟创业计划众筹发起:一个想法(续三):一份IT技术联盟创业计划书,开启众筹创业征程 IT联盟创业计划众筹进度:一个想法(续四):IT技术联盟创业众筹进度公示 以及现在向大伙公示目前的进展.解答疑惑及下一阶段的工作计划. 一:目前的进展: 1:入股人数: 目前确认已经入股的共的41人:36人已支付款,5人已登记并在常规的工资发放日15号支付. 2:众筹金额: 共计筹得174000,另有30000未付款. 3:合

Windows Server 2008中使用计划任务定时执行BAT批处理文件图文教程

这篇文章主要介绍了Windows Server 2008中使用计划任务定时执行BAT批处理文件,这样就可以定时执行自己的任务了. 首先Windows Server 2008不同于其他服务器操作系统和Windows Server 2003有着很大的区别,计划任务的名称是"任务计划程序"不在控制面板里,而是在"管理工具"里. 由于服务器需要做些任务,定时执行,自己写程序吧,麻烦,所以采用BAT进行代替操作,网络上很多人都在说每分钟执行怎么配置,今天我们就配置一下. 打开

在WINDOWS中设置计划任务执行PHP文件的方法

在网上找了些WINDOWS执行PHP的计划任务的方法,有一个写得很全,可惜在我这竟然没通过.最后不得不综合各门派的方法,才能在我这运行成功 1.写一个PHP程序,命名为test.php,内容如下所示: 复制代码 代码如下: <? $fp = fopen("test.txt", "a+"); fwrite($fp, date("Y-m-d H:i:s") . " 成功成功了!\n"); fclose($fp); ?>

Springboot中使用缓存

在开发中,如果相同的查询条件去频繁查询数据库, 是不是会给数据库带来很大的压力呢?因此,我们需要对查询出来的数据进行缓存,这样客户端只需要从数据库查询一次数据,然后会放入缓存中,以后再次查询时可以从缓存中读取.Spring3开始提供了强大的基于注解的缓存支持,可以通过注解配置方式低侵入的给原有Spring应用增加缓存功能,提高数据访问性能. 具体在Springboot中使用缓存如下: 1.在pom.xml中引入cache依赖,添加如下内容: <dependency> <groupId&g

利用Linux中的计划任务+PHP网页程序(转)

利用Linux中的计划任务+PHP网页程序,实现对web服务器运行状况的监测[每5分钟监测一次,并邮件提醒]一.我的监测服务器环境:rhel5.5+apache2.2+php5二.功能描述:写一个PHP页面,实现如下功能:请求要监控的WEB服务器的某一个页面的内容,如果返回不到数据,或者返回的数据里没有包含我期望的代码[用于自定义错误页面时的情况],那我就认为WEB服务出问题了[宕机或者遭到内容改写攻击],然后就发送一个邮件出来,这个邮件可以和手机进行绑定[139邮箱可以做到]而我在计划任务里去

如何在SpringBoot中使用JSP ?但强烈不推荐,果断改Themeleaf吧

做WEB项目,一定都用过JSP这个大牌.Spring MVC里面也可以很方便的将JSP与一个View关联起来,使用还是非常方便的.当你从一个传统的Spring MVC项目转入一个Spring Boot项目后,却发现JSP和view关联有些麻烦,因为官方不推荐JSP在Spring Boot中使用.在我看来,继续用这种繁杂的手续支持JSP仅仅只是为了简单兼容而已. 我们先来看看如何在SpringBoot中使用JSP ? 1. 在pom.xm中加入支持JSP的依赖 <dependency> <

Spring-Boot中Tomcat端口修改

Spring-Boot中Tomcat端口默认为8080,那么我们该如何来修改呢? 工具:eclipse ①打开eclipse,点击工具栏中的Run: ②选择Configurations(任选一个): ③进入修改页面,按下图进行设置(在VM arguments处填写-Dserver.port=**(**为你要启动的端口)) ④这样就修改成功啦,启动看看吧(不行就重启一下eclipse试试) 更多方法请参考: http://stackoverflow.com/questions/21083170/s