quartz

Quartz.Net 删除一个Job

前提是你 提交于 2019-12-02 21:46:57
原文: Quartz.Net 删除一个Job Quartz.Net 删除Job 来博客园的第一篇文章先写个简单的,希望能帮助到大家。 步入正题:     Quartz.Net有三个重要的概念,分别是 Scheduler 、Job 、Trigger。      Scheduler 包含 Job 和 Trigger。      如果要删除一个正在运行的 Job ,需要在 Schedule中将其移除。      调用的是 IScheduler 中的 DeleteJob 方法 上代码:      public class JobController { private static JobController _jobController = new JobController(); private JobController() { } public static JobController Instance() { return _jobController; } public void Start() { LogProvider.SetCurrentLogProvider(new ConsoleLogProvider()); RunProgramRunExample().GetAwaiter().GetResult(); Console.WriteLine("Press any

Java--定时任务框架Quartz

半城伤御伤魂 提交于 2019-12-02 21:15:45
Quartz是一个定时任务执行框架。添加如下Maven依赖即可。 < dependency > < groupId > org.quartz-scheduler </ groupId > < artifactId > quartz </ artifactId > < version > 2.3.0 </ version > </ dependency > 创建任务 /** * 创建任务 * @throws SchedulerException */ public static void startSchedulerJob () throws SchedulerException { // 数据 Map<String, Object> dataMap = new HashMap<>(); dataMap.put( "a" , 1 ); dataMap.put( "b" , 2 ); JobDetail jobDetail = createJobDetail( "job1" , "group1" , dataMap); Trigger trigger = createTrigger( "trigger1" , "group3" , 3 ); Scheduler scheduler = createScheduler(); // 将任务及其触发器放入调度器 scheduler

定时发短信(quartz框架,阿里大于)

北城余情 提交于 2019-12-02 21:13:44
--------------------------------------------------quartz定时框架---------------------------------------------------------- 一、quartz定时框架(和spring整合会用) 1、官网:http://www.quartz-scheduler.org/ 2、导入坐标 <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</artifactId> <version>2.2.1</version> </dependency> <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz-jobs</artifactId> <version>2.2.1</version> </dependency> 3、JobDetail 工作对象,指具体做什么事 Trigger 触发器,指什么时间做事,事情做多少次,侧重做事的频率 Scheduler 定时器对象,关联前两个对象,开启定时任务 4、Cron表达式 1)字段取值及字符 字段名 允许的值 允许的特殊字符 秒 0-59 , - * / 分 0-59 , - * /

java使用quartz定时执行任务

馋奶兔 提交于 2019-12-02 21:13:32
项目中需要有一个定时任务,在每年一月一日查询人员表中的信息,根据身份证号码,修改用户年龄。项目使用架构为Spring,Spring MVC,Mybaits。所以引入了Quartz做定时任务。 1.引入相关jar <!-- 定时任务quartz需要依赖的jar--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> <version>${spring.version}</version> </dependency> <!-- 定时任务quartz--> <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</artifactId> <version>2.2.2</version> </dependency> <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz-jobs</artifactId> <version>2.2.2</version> </dependency> 2.新建spring-quartz.xml文件并配置: <?xml version="1

SpringBoot重点详解--使用数据库配置Quartz定时任务

和自甴很熟 提交于 2019-12-02 21:13:15
目录 添加依赖配置 创建定时任务实体类 任务实体持久化 创建调度器工厂 TaskUtils工具类 创建定时任务服务类 创建定时任务初始化服务类 创建定时任务实现类 在实际项目开发过程中,定时任务几乎是必不可少的。作为Java程序员用的最多的任务调度框架非Quartz莫属了。 在Quartz中配置任务的方式很多,比较常见的就有基于注解配置、基于XML等配置文件进行配置和通过数据库进行配置三种配置方式,具体应该使用哪种方式来对定时任务进行配置需要根据你的实际业务场景来进行选择,这不是本文要讨论的重点,本文仅对如何使用数据库实现对定时任务的动态灵活配置进行简单示例和介绍。 为简单起见,本文使用了Spring Jpa来进行数据库操作。当应用启动时,TaskInitService类会从数据库中读取定时任务并进行加载。由于所有的定时任务都被存储在数据库中,用户可以通过相应的前端任务展示页面方便地对定时任务进行查看和管理,一旦有任务被修改,Scheduler调度器中的任务也会同步更新并立刻生效。项目的完整目录层次如下图所示。 添加依赖配置 为了使用Quartz和JPA,需要在工程POM文件中引入它们的Maven依赖,此外本示例工程中还使用到了lombok和commons-lang两个辅助工具包。 <parent> <groupId>org.springframework.boot<

定时任务框架Quartz-(一)Quartz入门与Demo搭建

痴心易碎 提交于 2019-12-02 21:11:12
一、什么是Quartz 什么是Quartz? Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,完全由Java开发,可以用来执行定时任务,类似于java.util.Timer。但是相较于Timer, Quartz增加了很多功能: 持久性作业 - 就是保持调度定时的状态; 作业管理 - 对调度作业进行有效的管理; 大部分公司都会用到定时任务这个功能。 拿火车票购票来说,当你下单后,后台就会插入一条待支付的task(job),一般是30分钟,超过30min后就会执行这个job,去判断你是否支付,未支付就会取消此次订单;当你支付完成之后,后台拿到支付回调后就会再插入一条待消费的task(job),Job触发日期为火车票上的出发日期,超过这个时间就会执行这个job,判断是否使用等。 在我们实际的项目中,当Job过多的时候,肯定不能人工去操作,这时候就需要一个任务调度框架,帮我们自动去执行这些程序。那么该如何实现这个功能呢? (1)首先我们需要定义实现一个定时功能的接口,我们可以称之为Task(或Job),如定时发送邮件的task(Job),重启机器的task(Job),优惠券到期发送短信提醒的task(Job),实现接口如下: (2)有了任务之后,还需要一个能够实现触发任务去执行的触发器,触发器Trigger最基本的功能是指定Job的执行时间

Spring Boot系列5-定时任务-springboot整合quartz实现动态定时任务

蹲街弑〆低调 提交于 2019-12-02 21:10:41
springboot有自带的定时任务为什么还要使用quartz 使用springboot自带的定时任务可以很简单很方便的完成一些简单的定时任务,但是我们想动态的执行我们的定时任务就比较困难了。然而使用quartz却可以很容易的管理我们的定时任务,很容易动态的操作定时任务。下面我们就讲解下如何使用quartz动态实现定时任务! 首先来一张截图看看我们的目录结构 pom.xml引入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!--quartz相关依赖--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-quartz</artifactId> </dependency> <!--lombok--> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </dependency> MyJob实现Job接口

通过Lts实现定时任务

久未见 提交于 2019-12-02 19:16:33
1、LTS初步认识 1.1、lts是什么? LTS(light-task-scheduler)是一个分布式任务调度框架,支持设置节点组搭建多节点集群水平拓展框架架构,提供多种任务类型包括实时任务、定时任务、corn任务的支持, 主要用于系统中的任务调度以及调度信息监控等 1.2、lts能够解决什么问题? 支持分布式,避免单点故障,支持动态扩容,容错重试 Spring扩展支持,SpringBoot支持,Spring Quartz Cron任务的无缝接入支持 节点监控、任务执行状态监控、jvm等信息监控 多节点任务单一执行、故障转移 1.3、lts相比于其它任务调度框架的优势? 参考文档LTS业务场景说明.pdf 2、LTS架构说明 2.1、lts节点类型 JobClient:主要负责提交任务, 并接收任务执行反馈结果。 JobTracker:负责接收并分配任务,任务调度。 TaskTracker:负责执行任务,执行完反馈给JobTracker。 LTS-Admin:(管理后台)主要负责节点管理,任务队列管理,监控管理等。 2.2、注册中心支持 zookeeper redis 2.3、节点通信方式 netty 2.4、任务队列和日志存储 mysql mongodb 2.5、任务类型 实时任务:提交了之后立即就要执行的任务。 定时任务:在指定时间点执行的任务,譬如 今天3点执行(单次)。

Quartz.Net 删除一个Job

孤街醉人 提交于 2019-12-02 18:51:08
Quartz.Net 删除Job 来博客园的第一篇文章先写个简单的,希望能帮助到大家。 步入正题:     Quartz.Net有三个重要的概念,分别是 Scheduler 、Job 、Trigger。      Scheduler 包含 Job 和 Trigger。      如果要删除一个正在运行的 Job ,需要在 Schedule中将其移除。      调用的是 IScheduler 中的 DeleteJob 方法 上代码:      public class JobController { private static JobController _jobController = new JobController(); private JobController() { } public static JobController Instance() { return _jobController; } public void Start() { LogProvider.SetCurrentLogProvider(new ConsoleLogProvider()); RunProgramRunExample().GetAwaiter().GetResult(); Console.WriteLine("Press any key to close the

商城项目团购之定时任务2

帅比萌擦擦* 提交于 2019-12-02 18:49:36
一、什么是quartz作业调度? Quartz框架是一个全功能、开源的任务调度服务,可以集成几乎任何的java应用程序—从小的单片机系统到大型的电子商务系统。Quartz可以执行上千上万的任务调度。 1.quartz中使用了一下几种设计模式。 二、quartz的体系结构。 1.quartz中使用了一下几种设计模式。 Builer模式 Factory模式 组件模式 链式写法 2.三个主要的概念 调度器 :Quartz框架的核心是调度器( Scheduler), 调度器负责管理 Quartz应用运行时环境 。调度器不是靠自己做所有的工作,而是依赖框架内一些非常重要的部件。Quartz不仅仅是线程和线程池管理。为确保可伸缩性, Quartz采用了基于多线程的架构 。启动时,框架初始化一套worker线程,这套线程被调度器用来执行预定的作业。这就是Quartz怎样能并发运行多个作业的原理。Quartz依赖一套松耦合的线程池管理部件来管理线程环境。 任务:这个很简单,就是我们自己编写的业务逻辑,交给quartz帮我们执行 。 触发器:简单的讲就是调度作业,什么时候开始执行,什么时候结束执行 3.quartz的体系结构 quartz框架至少有三百多个类组成,这里我们重点介绍几个它的核心部分 JobDetail:quartz每次都会直接创建一个JobDetail,同时创建一个Job实例