(一)新建一个 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

使用 quartz-solon-plugin 开发定时任务(新)的更多相关文章

  1. 使用 Cron4j 表达式 在 Solon 里开发定时任务

    cron4j 是一个轻量级的Java任务调度工具.cron4j-solon-plugin 是 solon 对 cron4j 的适配插件 添加 maven 引用 <dependency> & ...

  2. LBPL--基于Asp.net、 quartz.net 快速开发定时服务的插件化项目

    LBPL 这一个基于Asp.net. quartz.net 快速开发定时服务的插件化项目 由于在实际项目开发中需要做定时服务的操作,大体上可以理解为:需要动态化监控定时任务的调度系统. 为了实现快速开 ...

  3. MS CRM 2011的自定义和开发(11)——插件(plugin)开发(三)

    http://www.cnblogs.com/StoneGarden/archive/2012/02/06/2340661.html MS CRM 2011的自定义和开发(11)——插件(plugin ...

  4. MS CRM 2011的自定义和开发(11)——插件(plugin)开发(一)

    http://www.cnblogs.com/StoneGarden/archive/2012/02/02/2336147.html MS CRM 2011的自定义和开发(11)——插件(plugin ...

  5. Quartz.net官方开发指南系列篇

    Quartz.NET是一个开源的作业调度框架,是OpenSymphony 的 Quartz API的.NET移植,它用C#写成,可用于winform和asp.net应用中.它提供了巨大的灵活性而不牺牲 ...

  6. ASP.NET Core2.2+Quartz.Net 实现web定时任务

    作为一枚后端程序狗,项目实践常遇到定时任务的工作,最容易想到的的思路就是利用Windows计划任务/wndows service程序/Crontab程序等主机方法在主机上部署定时任务程序/脚本. 但是 ...

  7. springboot和quartz整合实现动态定时任务(持久化单节点)

    Quartz是一个完全由java编写的开源作业调度框架,为在Java应用程序中进行作业调度提供了简单却强大的机制,它支持定时任务持久化到数据库,从而避免了重启服务器时任务丢失,支持分布式多节点,大大的 ...

  8. QCAD Plugin 开发

    QCAD Plugin 开发 eryar@163.com Abstract. QCAD是基于GPL协议的开源CAD软件,核心功能基于Qt使用C++开发,界面及其交互使用Javascript脚本进行开发 ...

  9. Springboot mini - Solon详解(五)- Solon扩展机制之Solon Plugin

    Springboot min -Solon 详解系列文章: Springboot mini - Solon详解(一)- 快速入门 Springboot mini - Solon详解(二)- Solon ...

  10. YYDS: Webpack Plugin开发

    目录 导读 一.cdn常规使用 二.开发一个webpack plugin 三.cdn优化插件实现 1.创建一个具名 JavaScript 函数(使用ES6的class实现) 2.在它的原型上定义 ap ...

随机推荐

  1. HanLP — Aho-Corasick DoubleArrayTire 算法 ACDAT - 基于双数组字典树的AC自动机

    双数组字典树能在O(1)(1是模式串长度)时间内高速完成单串匹配,并且内存消耗可控,然而软肋在于多模式匹配.如果要匹配多个模式串,必须先实现前缀查询,然后频繁截取文本后缀才可多匹配.比如 ushers ...

  2. off-line RL | CQL:魔改 Bellman error 更新,得到 Q 函数 lower-bound

    论文题目: Conservative Q-Learning for Offline Reinforcement Learning CQL 是师兄盛赞的一篇论文:"是 off-line RL ...

  3. JPA中@ElementCollection使用

    转载请注明出处: 在JPA中,@ElementCollection注解主要用于映射集合属性,例如List.Set或数组等集合属性,以及Map结构的集合属性,每个属性值都有对应的key映射.这个注解可以 ...

  4. Linux Media 子系统链路分析

    一.概述 Media 子系统是一个用于处理多媒体设备的框架,它提供了一组 API 和驱动程序,用于管理和控制视频.音频和其他多媒体设备.而 V4L2 是 media 子系统的一部分,用于处理视频相关的 ...

  5. 数据结构与算法 | 记忆化搜索(Memorize Search)

    在本系列的文章中已经写了二叉树(Binary Tree).深搜(DFS)与广搜(BFS).哈希表(Hash Table)等等,计划接下来要写的是动态规划(Dynamic Programming,DP) ...

  6. typeid关键词

    typeid是c++的关键字,typeid操作符的返回结果是名为type_info的标准库类型的对象的引用(在头文件typeinfo中定义) ISO C++标准并没有确切定义type_info,它的确 ...

  7. 背包DP全类型

    AcWing 2. 01背包问题 #include <iostream> #include <algorithm> using namespace std; const int ...

  8. 文心一言 VS 讯飞星火 VS chatgpt (138)-- 算法导论11.4 2题

    二.用go语言,试写出HASH-DELETE 的伪代码;修改 HASH-INSERT,使之能处理特殊值DELETED. 文心一言: 首先,让我们定义一个基本的哈希表数据结构.这个结构将包括一个存储键值 ...

  9. 时间复杂度为 O(n^2) 的排序算法

    对于小规模数据,我们可以选用时间复杂度为 O(n2) 的排序算法.因为时间复杂度并不代表实际代码的执行时间,它省去了低阶.系数和常数,仅代表的增长趋势,所以在小规模数据情况下, O(n2) 的排序算法 ...

  10. idea用不了 idea.bat文件闪退

    由于idea的智能,在破解之后会留下一些问题,根据网上搜出来的解决办法. 1.C:\Users\dell\AppData\Roaming\JetBrains\IntelliJIdea2022.2 在这 ...