首页 > 其他分享 >SchedulingConfigurer 实现定时任务(动态修改cron,解决@Scheduled需重启服务问题)

SchedulingConfigurer 实现定时任务(动态修改cron,解决@Scheduled需重启服务问题)

时间:2024-11-10 20:40:41浏览次数:3  
标签:Scheduled SchedulingConfigurer cron 任务 定时 public

通过实现SchedulingConfigurer接口,实现定时任务,解决@Scheduled的定时任务改动cron需要服务重启的问题。


@Slf4j
@Component
public class ATestScheduleJob implements SchedulingConfigurer {

    @Value("${a.c:0/5 * * * * ?}")
    private String cron1;


    @Override
    public void configureTasks(ScheduledTaskRegistrar taskRegistrar) {
        taskRegistrar.addTriggerTask(() -> execute(), this.buildTrigger());
    }

    public Trigger buildTrigger() {
        return triggerContext -> new CronTrigger(cron1).nextExecutionTime(triggerContext);
    }


    /**
     * 主逻辑
     */
    public void execute() {
        // 任务逻辑
        log.info("【定时任务】测试任务1@----@1正在执行============================>>>>>>>>>>>>>>>>>>>>>>>");

    }

}

注意:别忘了启动类需要加@EnableScheduling注解!!!
注意:别忘了启动类需要加@EnableScheduling注解!!!

效果图:
image

image

标签:Scheduled,SchedulingConfigurer,cron,任务,定时,public
From: https://www.cnblogs.com/duanxiaobiao/p/18538444

相关文章

  • 安装ffmpeg和crontab执行ffmpeg
    一、centos安装ffmpeg1.下载解压wgethttp://www.ffmpeg.org/releases/ffmpeg-5.0.tar.gztar-zxvfffmpeg-5.0.tar.gz具体需要哪个版本可以进入http://www.ffmpeg.org/releases查看2.进入解压后目录,输入如下命令/usr/local/ffmpeg为自己指定的安装目录(安装目录自己指定)cdffmpe......
  • cron定时任务报错PAM unable to dlopen(pam_tally2.so): /lib/security/pam_tally2.so
    在Ubuntu22.04中,pam_tally2模块可能已经不再被支持或包含在系统默认的PAM模块中。因此,当系统尝试加载该模块时,无法找到对应的.so文件,需要使用pam_faillock.so来代替先查找下是否存在pam_faillock.so模块find/usr-name"pam_*.so"没有pam_tally2.so,复制出来一个就解决了......
  • CRON组件一个复杂的一个简单的
    CRON组件一个复杂的一个简单的一个是复杂点的一个是简单点。1.以简单的为例使用:父组件importCronSimplefrom"@/views/xxx/components/cron-simple/index.vue";components:{CronSimple}<el-dialogtitle="调度CRON"v-if="cronVisi......
  • ScheduledThreadPoolExecutor的介绍与使用
    ScheduledThreadPoolExecutor是Java中的一个类,它继承自ThreadPoolExecutor,并实现了ScheduledExecutorService接口。这个类主要用于在给定的延迟之后或周期性地执行任务,是处理定时任务的一个强大工具。一、主要特点线程池大小固定:ScheduledThreadPoolExecutor的线程池大小......
  • cron表达式的讲解
    一cron的结构Cron表达式是一个字符串,以5个或6个空格隔开,分为6个或7个域,每一个域代表一个含义,Cron有如下两种语法格式:七个域SecondsMinutesHoursDayOfMonthMonthDayOfWeekYear1即corn从左到右(用空格隔开):秒分小时月份中的日期月份星期中的日期年份六个域Second......
  • 如何使用Cron在Linux上安排定时任务
    使用Cron在Linux上安排定时任务的步骤:1.为任务分类,选择代表性的任务;2.设定明确的目标,确定任务的执行时间;3.选择适当的调研形式;4.安排任务的执行顺序;5.深入研究任务的需求。首先,与用户调研中为用户归类选择代表性用户一样,我们需要为任务归类并选择代表性的任务。1.为任务分类,选......
  • js实现cron表达式翻译成中文
    js实现cron表达式翻译成中文参考项目https://github.com/ikesnowy/cron-chinese对他的代码进行改进:只能翻译分时日月周和这五个符号:*?-/,exportfunctionhumanizeCronInChinese(cron){consttokens=cron.trim().split('');constcronStruc......
  • @Scheduled定时任务常用用法
    1.cron参数这个参数是最经常使用的参数,表示接收一个cron参数,cron它是一个表达式,最多接收7个参数,从左到右分别表示:秒分时天月 周年;参数以空格隔开,其中年不是必须参数,可以省略。注意!!!在使用时需要在类上添加注解@EnableScheduling,表示开启定时任务。常用通配符:*:表示所......
  • 题解:SP1703 ACMAKER - ACM (ACronymMaker)
    题目大意:一个有一些单词组成的短语,给定一个缩写词,求此缩写由此短语的单词组成的可能方案数。注意,短语中所有重要的单词都要用到,顺序必须和缩写词单词顺序一致。思路动态规划设置:\(dp_{i,j}\):使用前\(i\)个重要单词形成前\(j\)个缩写字符的方法数。\(dp2_{k,m}\):辅助数组......
  • linux 如何创建定时任务?crontab -e 定时任务使用的时间是系统时间
    crontab-e创建的定时任务使用的是系统时间。什么是系统时间?系统时间是操作系统内部维护的一个时间戳,用于记录系统启动以来经过的时间,以及当前的日期和时间。系统时间通常与硬件时钟同步,以确保时间的准确性。crontab如何使用系统时间?crontab在执行定时任务时,会根据系统......