quartz

Quartz入门

不想你离开。 提交于 2019-12-04 11:34:06
内容: 1、Quartz简介及应用场景 2、Quartz简单触发器 SimpleTrigger介绍 3、Quartz表达式触发器CronTirgger介绍 4、Quartz中参数传递 5、Spring task Vs Quartz Quartz简介及应用场景 1. Quartz介绍 任务调度框架“Quartz”是OpenSymphony开源组织在Job scheduling领域又一个开源项目,是完全由java开发的一个开源的任务日程管理系统, “任务进度管理器”就是一个在预先确定(被纳入日程)的时间到达时,负责执行(或者通知)其他软件组件的系统。 简单来说就是实现“计划(或定时)任务”的系统,例如:订单下单后未付款,15分钟后自动撤消订单,并自动解锁锁定的商品 2. Quartz的触发器 触发器用来告诉调度程序作业什么时候触发。框架提供了5种触发器类型,但两个最常用的SimpleTrigger和CronTrigger。 五种类型的Trigger(定时器) SimpleTrigger,CronTirgger,DateIntervalTrigger,NthIncludedDayTrigger和Calendar类( org.quartz.Calendar)。 场景: SimpleTrigger:执行N次,重复N次 CronTrigger:几秒 几分 几时 哪日 哪月 哪周 哪年,执行 3

ASP.NET Core使用Quartz定时调度

只谈情不闲聊 提交于 2019-12-04 09:01:20
在应用程序开发过程中,经常会需要定时任务调度功能,本篇博客介绍Asp.net Core如何使用Quartz完成定时调度 一、Quartz使用步骤 创建调度器scheduler,并开启 创建Job作业 创建tigger触发器 把作业和触发器放入调度器中 二、Quartz的API IScheduler - 与 scheduler 进行交互的主要接口 IJob - 你希望被 scheduler 执行的组件的接口 IJobDetail - 用于定义 Jobs 实例 ITrigger - 定义将会在scheduler上执行的 job 上的组件 JobBuilder - 用于定义或建立(define/build) JobDetail 实例,JobDetail定义了Jobs实例 TriggerBuilder - 用于定义或建立 Trigger 实例 三、使用Quartz 1、在使用Quartz之前需添加引用,在程序包管理控制台中执行命令安装依赖包 Install-Package Quartz -Version 3.0.7 2、创建调度类QuartzPro using Quartz; using Quartz.Impl; using System.Collections.Specialized; using System.Threading.Tasks; namespace Test123 {

Topshelf+Quatz.Net的简单使用

社会主义新天地 提交于 2019-12-04 06:17:42
Topshelf+Quatz.Net的简单使用 一 Topshelf概述   Topshelf是创建Windows服务的另一种方法,老外的一篇文章 Create a .NET Windows Service in 5 steps with Topshelf 通过5个步骤详细的介绍使用使用Topshelf创建Windows 服务。 Topshelf 是一个开源的跨平台的宿主服务框架,支持Windows和Mono,只需要几行代码就可以构建一个很方便使用的服务宿主。 二 Topshelf使用 1 新建Timer定时任务,并在Topshelf中使用 1 public class TownCrier 2 { 3 private readonly Timer timer; 4 public TownCrier() 5 { 6 timer = new Timer(1000) { AutoReset = true }; 7 timer.Elapsed += (sender,eventArgs) => Console.WriteLine($"It is {DateTime.Now} and all is well"); 8 } 9 public void Start() 10 { 11 timer.Start(); 12 } 13 public void Stop() 14 { 15 timer

Quartz学习笔记:集群部署

℡╲_俬逩灬. 提交于 2019-12-04 06:10:24
Quartz学习笔记:集群部署 集群原理   一个 Quartz集群中的每个节点是一个独立的Quartz应用 ,它又管理着其他的节点。这就意味着你必须对每个节点分别启动或停止。Quartz集群中,独立的Quartz节点并不与另一其的节点或是管理节点通信,而是 通过同一个数据库表来感知到另一Quartz应用的 。    相关数据库表   因为Quartz集群依赖于数据库,所以 必须首先创建Quartz数据库表 ,Quartz发布包中包括了所有被支持的数据库平台的SQL脚本。这些SQL脚本存放于<quartz_home>/docs/dbTables 目录下。这里采用的Quartz 1.8.4版本,总共12张表,不同版本,表个数可能不同。    下载地址: http://www.quartz-scheduler.org/downloads/ 来源: https://www.cnblogs.com/MrSaver/p/11835374.html

二:Quartz 中重要的家族成员

吃可爱长大的小学妹 提交于 2019-12-04 05:05:26
Quartz API 中几个重要的元素 名称 作用 Scheduler 调度任务的执行 Job 你的任务需要实现的接口,执行调度任务时,Scheduler会执行此接口的execute方法 JobDetail 定义Jobs的实例,里面包含了Job的所有信息:名称、所属的组,Job的类等 Tigger 任务的触发器,由它来定义计划,规定Job何时被触发执行 我们可以这么理解, Tigger 规定了何时触发你自己定义在 Job 中的任务,而最后 Scheduler 来管理所有的 Jobs 和 Tigger Scheduler Scheduler 生命周期是从 SchedulerFactory 创建它开始,直到 Scheduler 调用 shutdown 方法时结束; Scheduler 被创建后,可以增加、删除和列举 Job 和 Tigger,以及执行其他调度相关操作(如暂停 Tigger)但是,Scheduler 只有在调用 start() 方法后才会真正的触发 tirgger。 Job 一个 job 就是一个实现了 Job接口的类,该接口只有一个方法 package org.quartz; public interface Job { public void execute(JobExecutionContext context) throws

​Quartz 触发器(SimpleTrigger&CronTrigger )配置说明

谁说胖子不能爱 提交于 2019-12-04 05:05:12
Quartz 是个开源的作业调度框架,为在 Java 应用程序中进行作业调度提供了简单却强大的机制。Quartz 允许开发人员根据时间间隔(或天)来调度作业。它实现了作业和触发器的多对多关系,还能把多个作业与不同的触发器关联。整合了 Quartz 的应用程序可以重用来自不同事件的作业,还可以为一个事件组合多个作业。 SimpleTrigger 当需要在规定的时间执行一次或在规定的时间段以一定的时间间隔重复触发执行Job时,SimpleTrigger就可以满足要求;SimpleTrigger的属性有:开始时间、结束时间、重复次数和重复的时间间隔,重复次数属性的值可以为0、正整数、或常量 SimpleTrigger.REPEAT_INDEFINITELY,重复的时间间隔属性值必须为0或长整型的正整数,以毫秒作为时间单位,当重复的时 间间隔为0时,意味着与Trigger同时触发执行(或几乎与Scheduler开始时同时触发执行)。如果有指定结束时间属性值,则结束时间属性优先于重复次数属性,这样的好处在于:当我们需要创建一个每间隔10秒钟触发一次直到指定的结束时间的 Trigger,而无需去计算从开始到结束的所重复的次数,我们只需简单的指定结束时间和使用REPEAT_INDEFINITELY作为重复次数的属性 值即可(我们也可以指定一个比在指定结束时间到达时实际执行次数大的重复次数)。

SpringBoot系列:Spring Boot集成定时任务Quartz

◇◆丶佛笑我妖孽 提交于 2019-12-04 03:58:12
一、关于Quartz Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用。在java企业级应用中,Quartz是使用最广泛的定时调度框架。 在Quartz中的主要概念: Scheduler:调度任务的主要API ScheduleBuilder:用于构建Scheduler,例如其简单实现类SimpleScheduleBuilder Job:调度任务执行的接口,也即定时任务执行的方法 JobDetail:定时任务作业的实例 JobBuilder:关联具体的Job,用于构建JobDetail Trigger:定义调度执行计划的组件,即定时执行 TriggerBuilder:构建Trigger 一、Quartz演示示例 在SpringBoot中,我们需要引入quartz的依赖。 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!--quartz定时调度依赖--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId

SpringBoot系列:Spring Boot集成定时任务Quartz

主宰稳场 提交于 2019-12-04 02:24:39
一、关于Quartz Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用。在java企业级应用中,Quartz是使用最广泛的定时调度框架。 在Quartz中的主要概念: Scheduler:调度任务的主要API ScheduleBuilder:用于构建Scheduler,例如其简单实现类SimpleScheduleBuilder Job:调度任务执行的接口,也即定时任务执行的方法 JobDetail:定时任务作业的实例 JobBuilder:关联具体的Job,用于构建JobDetail Trigger:定义调度执行计划的组件,即定时执行 TriggerBuilder:构建Trigger 一、Quartz演示示例 在SpringBoot中,我们需要引入quartz的依赖。 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!--quartz定时调度依赖--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId

quartz,在jobdeteil中传参

不问归期 提交于 2019-12-03 22:56:07
首先在运行前传入参数 : JobDetail类的getJobDataMap()方法,返回值JobDataMap,可以在此基础上进行Map操作。 例如: job.getJobDataMap().put("love", "I love you very much!"); 其次在job中获得参数 : 在execute方法中,传入上下文context,如下所示: public void execute(JobExecutionContext context) 再获得JobDataMap,从Map中获得所需数据,示例代码如下: String jobName = context.getJobDetail().getName(); JobDataMap dataMap = context.getJobDetail().getJobDataMap(); String strData = dataMap.getString("love"); 来自为知笔记(Wiz) 来源: https://www.cnblogs.com/xues/p/11810372.html

spring boot.2x 启用拦截器配置 静态资源不能访问

假如想象 提交于 2019-12-03 21:44:02
今天在使用SpringBoot时遇到静态资源无法访问的问题,启用拦截器配置就会出现静态资源无法访问。 发现只要继承 WebMvcConfigurationSupport 并且将文件加入配置 发现如果继承了WebMvcConfigurationSupport,则在yml中配置的相关内容会失效。 需要重新指定静态资源 通过继承WebMvcConfigurer实现 @Configuration public class WebAppConfigurer implements WebMvcConfigurer { @Override public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(new WebRequestInterceptor()) .excludePathPatterns(Joiner.on(",").join( Arrays.asList("/static/**", "/css/**", "/error/**", "/images/**", "/js/**", "/resources/**", "/web/**", "/quartz/post", "/favicon.ico"))); } } 来源: oschina 链接: https://my.oschina