使用 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源码
使用 quartz-solon-plugin 开发定时任务(新)的更多相关文章
- 使用 Cron4j 表达式 在 Solon 里开发定时任务
		
cron4j 是一个轻量级的Java任务调度工具.cron4j-solon-plugin 是 solon 对 cron4j 的适配插件 添加 maven 引用 <dependency> & ...
 - LBPL--基于Asp.net、 quartz.net 快速开发定时服务的插件化项目
		
LBPL 这一个基于Asp.net. quartz.net 快速开发定时服务的插件化项目 由于在实际项目开发中需要做定时服务的操作,大体上可以理解为:需要动态化监控定时任务的调度系统. 为了实现快速开 ...
 - MS CRM 2011的自定义和开发(11)——插件(plugin)开发(三)
		
http://www.cnblogs.com/StoneGarden/archive/2012/02/06/2340661.html MS CRM 2011的自定义和开发(11)——插件(plugin ...
 - MS CRM 2011的自定义和开发(11)——插件(plugin)开发(一)
		
http://www.cnblogs.com/StoneGarden/archive/2012/02/02/2336147.html MS CRM 2011的自定义和开发(11)——插件(plugin ...
 - Quartz.net官方开发指南系列篇
		
Quartz.NET是一个开源的作业调度框架,是OpenSymphony 的 Quartz API的.NET移植,它用C#写成,可用于winform和asp.net应用中.它提供了巨大的灵活性而不牺牲 ...
 - ASP.NET Core2.2+Quartz.Net 实现web定时任务
		
作为一枚后端程序狗,项目实践常遇到定时任务的工作,最容易想到的的思路就是利用Windows计划任务/wndows service程序/Crontab程序等主机方法在主机上部署定时任务程序/脚本. 但是 ...
 - springboot和quartz整合实现动态定时任务(持久化单节点)
		
Quartz是一个完全由java编写的开源作业调度框架,为在Java应用程序中进行作业调度提供了简单却强大的机制,它支持定时任务持久化到数据库,从而避免了重启服务器时任务丢失,支持分布式多节点,大大的 ...
 - QCAD Plugin 开发
		
QCAD Plugin 开发 eryar@163.com Abstract. QCAD是基于GPL协议的开源CAD软件,核心功能基于Qt使用C++开发,界面及其交互使用Javascript脚本进行开发 ...
 - Springboot mini - Solon详解(五)- Solon扩展机制之Solon Plugin
		
Springboot min -Solon 详解系列文章: Springboot mini - Solon详解(一)- 快速入门 Springboot mini - Solon详解(二)- Solon ...
 - YYDS: Webpack Plugin开发
		
目录 导读 一.cdn常规使用 二.开发一个webpack plugin 三.cdn优化插件实现 1.创建一个具名 JavaScript 函数(使用ES6的class实现) 2.在它的原型上定义 ap ...
 
随机推荐
- PCA主成分分析的理解
			
u |_matrix1x2_{{-0.70710678118654757};{-0.70710678118654735}} x^(1) |_matrix1x2_{{-0.51805350 ...
 - [数据校验/数据质量] 数据校验框架:hibernate-validation
			
0 前言 其一,项目中普遍遇到了此问题,故近两天深入地研究了一下. 其二,能够自信地说,仔细看完本篇,就无需再看其他的Java数据校验框架的文章了. 1 数据校验框架概述 1.0 数据校验框架的产生背 ...
 - C/C++ 通过SQLiteSDK增删改查
			
SQLite,作为一款嵌入式关系型数据库管理系统,一直以其轻量级.零配置以及跨平台等特性而备受青睐.不同于传统的数据库系统,SQLite是一个库,直接与应用程序一同编译和链接,无需单独的数据库服务器进 ...
 - .NET生成微信小程序推广二维码
			
前言 对于小程序大家可能都非常熟悉了,随着小程序的不断普及越来越多的公司都开始推广使用起来了.今天接到一个需求就是生成小程序码,并且与运营给的推广图片合并在一起做成一张漂亮美观的推广二维码,扫码这种二 ...
 - jdk9模块化
			
JDK 9是Java开发语言的一个重大版本.其中最令人兴奋的新特性之一是模块化系统.模块化系统提出了一种新的代码组织方式,它可以帮助开发人员更好地组织和管理代码,从而使Java应用程序更加可维护.可扩 ...
 - DI入门案例
			
1.基于IoC管理bean 2.Service中使用new形式创建的Dao对象是否保留?(不保留) 3.Service中需要的Dao对象如何进入到Service中?(提供方法) 4.Service与D ...
 - Cocos Creator性能调优
			
一. 为什么要做性能优化 性能:是程序的一种优秀的能力.唤醒快.运行持久.稳定 这种能力正在游戏上能让你的用户感觉很爽,特征表现为加载快.运行流畅.不卡顿. 所以,性能优化的终极目标是,让你的用户体验 ...
 - GPT Zero 是什么?
			
from https://openaigptguide.com/gptzero/ 在人工智能技术飞速发展的今天,人们对于文字内容的准确性和可信度要求越来越高.例如在学术研究领域,防止抄袭和造假是非常重 ...
 - vue3+ts打开echarts的正确方式
			
实例项目使用 vite5 + vue3 + ts,项目地址 vite-vue3-charts,预览地址 https://weizwz.com/vite-vue3-charts 准备工作 1. 注册为百 ...
 - Vue3节流指令封装
			
节流指令 import { ObjectDirective } from 'vue' interface ThrottleEl extends HTMLElement { throttleEvent: ...