• 使用 quartz-solon-plugin 开发定时任务(新)


    (一)新建一个 maven 空项目
    (二)添加 maven 引用
    <dependency>
        <groupId>org.noear</groupId>
        <artifactId>quartz-solon-plugin</artifactId>
        <version>1.2.20</version>
    </dependency>
    
    (三)新建代码文件
    • java/jobapp/JobApp
    • java/jobapp/controller/QuartzJob
    • java/jobapp/controller/QuartzRun1
    • java/jobapp/controller/QuartzRun2
    • reources/application.properties
    (四)代码
    • JobApp 代码

    JobApp.java

    //
    // 启用 Quartz 注解的任务
    //
    @EnableQuartz
    public class JobApp {
        public static void main(String[] args) {
            Solon.start(JobApp.class, args);
        }
    }
    
    
    • 使用快捷配置模式:n + ms,s,m,h,d ;使用 Runnable 接口开发

    Cron4jRun1.java

    @Quartz(cron7x = "200ms" ,name = "job1")
    public class QuartzRun1 implements Runnable {
        @Override
        public void run() {
            System.out.println("我是 QuartzRun1 (200ms)");
        }
    }
    
    • 使用 cron7x 配置模式:* * * * * * *;使用 Runnable 接口开发

    QuartzRun2.java

    @Quartz(cron7x = "0 0/1 * * * ? *")
    public class QuartzRun2 implements Runnable {
        @Override
        public void run() {
            System.out.println("我是 QuartzRun2 (0 0/1 * * * ? *)");
        }
    }
    
    
    • 使用 cron7x 配置模式:* * * * * * *;使用 Job 接口开发

    QuartzJob.java

    @Quartz(cron7x = "0 0/1 * * * ? *")
    public class QuartzJob implements Job {
        @Override
        public void execute(JobExecutionContext ctx) throws JobExecutionException { 
            System.out.println("我是 QuartzJob (0 0/1 * * * ? *)");
        }
    }
    
    (五)通过配置,控制有name的任务

    application.properties

    # solon.quartz.{job name}
    #
    solon.quartz.job1.cron5x=10s  #重新定义时间表达式
    solon.quartz.job1.enable=true #用任务进行启停控制
    
    (六)运行输出
    solon.plugin:: Start loading
    file:/Users/xieyuejia/WORK/work_github/solon_demo/demo10.solon_schedule/target/classes/application.properties
    jar:file:/Users/xieyuejia/.m2/repository/org/noear/quartz-solon-plugin/1.2.20/quartz-solon-plugin-1.2.20.jar!/solonplugin/solon.extend.quartz.properties
    我是定时任务: QuartzRun1(200ms))
    solon.plugin:: End loading @129ms
    我是定时任务: QuartzRun1(200ms)
    
    (六)DEMO源码

    源码:demo10.solon_schedule

  • 相关阅读:
    信息安全系统设计基础第八周期中复习总结
    layui下各种富文本的冲突情况
    TP3.2+find_set_in 以及 find_set_in和like的区别
    tp5+linux+apache php7.1.30环境下,上传图片报错:mkdir():permission denied
    一次基于老古董thinkPHP3.1的修改尝试
    微信网页开发 thinkphp5.0的try-catch和重定向
    CentOS 7.2下服务器配置(linux+apache+php+mysql)
    微信小程序踩坑(不定时更新)
    PHP 定时自动执行代码
    PHP TP5 文章评论+积分+签到
  • 原文地址:https://www.cnblogs.com/noear/p/14306123.html
Copyright © 2020-2023  润新知