使用 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 ...
随机推荐
- fastjson反序列化Map对象为null?其实它只是一个地址,试试Map深拷贝
今天遇到一个小问题,我用fastjson,把一个map对象转为实体类对象返回给前端的时候,map对象里面的一个属性既然为null. 由于前端需求,我们需要返回一个json里面,有两个属性是一样的(都是 ...
- Office XXE攻击
一.什么是Office XXE攻击 Office XXE攻击是xxe攻击的一种,由于.xlsx与.docx是基于xml文件存储内容的,后端在解析这些xml时自然也会存在xxe攻击的可能. 这里是.xl ...
- 聊聊BIO、NIO与AIO的区别(转)
转自:https://www.cnblogs.com/blackjoyful/p/11534985.html 题目:说一下BIO/AIO/NIO 有什么区别?及异步模式的用途和意义? BIO:Apac ...
- 《实现领域驱动设计》笔记——DDD入门
设计不只是感观,设计就是产品的工作方式. 我们的目标应该是创造一个可观测的.可伸缩的.组织良好的软件模型. DDD同时提供了战略上的战术上的建模工具. 我能DDD吗? DDD首先并不是关于技术的,而是 ...
- 在vue中如何使用echart
1.在前面基础上搭建好vue环境,初始化webpack后,在终端使用npm i echarts -s 下载echart 2.下载完成后全局使用echart 在main.js文件中导入 import e ...
- Boruvka 算法
Boruvka算法解决某些问题超级好用. 这些问题形如,给你n个点,每个点有点权,任意两个点之间有边权,边权为两个点权用过某种计算方式得出. 求最小生成树. 通常用 \(O(log n)\) 的时间可 ...
- Kotlin协程系列(二)
在进行业务开发时,我们通常会基于官方的协程框架(kotlinx.coroutines)来运用Kotlin协程优化异步逻辑,不过这个框架过于庞大和复杂,如果直接接触它容易被劝退.所以,为了我们在后续的学 ...
- 每天5分钟复习OpenStack(十一)Ceph部署
在之前的章节中,我们介绍了Ceph集群的组件,一个最小的Ceph集群包括Mon.Mgr和Osd三个部分.为了更好地理解Ceph,我建议在进行部署时采取手动方式,这样方便我们深入了解Ceph的底层.今天 ...
- Django学习(二) 之 模板的使用
写在前面 昨晚应该是睡的最好一天吧,最近一个月睡眠好差,睡不着不说,而且半夜总醒,搞的第二天就会超没精神. 昨天下午去姐姐家,小外甥直接进屋就问我说: 老舅,你都很长时间没来啦,**(前女友)怎么哪去 ...
- 存储器 Memory
缩写 全称 翻译 用途 RAM Random Access Memory 随机存储器 SRAM Static RAM 静态RAM MCU的片上RAMCPU的L1.L2 cache DRAM Dynam ...