quartz

分布式任务调度框架ApiBoot Quartz内的两种任务存储方式

可紊 提交于 2020-01-25 00:38:36
知识改变命运,撸码使我快乐,2020继续游走在开源界!!! 点赞再看,养成习惯 开源框架ApiBoot源码仓库(您的Star是对我最大的支持): https://gitee.com/minbox-projects/api-boot 前言 Quartz 是一款比较优秀的分布式任务调度框架, ApiBoot 对其封装之前就有两种任务存储方式,分别是: memory (内存方式)、 jdbc (数据库方式),不过我们需要编写一些繁琐的代码配置, ApiBoot 实现了集成后,可快速应用到项目中,而且还提供了 ApiBootQuartzService 接口用于操作任务的状态、有效性、新任务创建等,提供了一些常用方法,使用时只需要注入即可,因为该类在 ApiBootQuartzAutoConfiguration 自动化配置类中已经做了实例化。 任务存储 之前有提到 Quartz 提供了两种任务存储的方式,这两种存在什么区别呢? 内存方式 :将任务临时存储到内存中,仅支持单项目部署,项目重启后任务会失效,不支持由调度器控制任务漂移,不建议使用。 数据库方式 : Quartz 提供了多种数据库的所需表结构脚本,它内部通过 DataSource 来操作数据,支持分布式方式部署、支持任务漂移,项目重启后任务不会丢失,直到任务执行完成后才会被从数据库内清除。 默认方式 ApiBoot 在整合

Quartz.NET总结(一)入门

杀马特。学长 韩版系。学妹 提交于 2020-01-24 17:56:15
  前段时间,花了大量的时间,将原先的计划任务,切换到Quartz.NET来进行管理。原先的后台定时服务都是通过计划任务来实现的,但是随着业务增长,计划任务也越来越多,每个后台服务,都得创建一个计划任务。日常的维护和管理非常麻烦。   于是乎,一咬牙,决定引入Quartz.NET框架,统一都管理全部的后台定时服务。切换过程确实很麻烦。直到今天,才终于有时间整理总结Quartz.NET的相关内容。   Quartz.NET的优点和使用场景,这里不再多说,网上有很多说明,总的来说就是,Quartz.NET是一个开源的作业调度框架,非常适合在平时的工作中,定时轮询数据库同步,定时邮件通知,定时处理数据等。 Quartz.NET允许开发人员根据时间间隔(或天)来调度作业。它实现了作业和触发器的多对多关系,还能把多个作业与不同的触发器关联,配置灵活方便。   参考官方学习文档: http://www.quartz-scheduler.net/documentation/index.html   快速搭建一个Quartz, 源代码下载    第一步:新建解决方案和相关项目,并安装相关程序包,如下图所示: Quartz依赖Common.Logging和Common.Logging.Log4Net,而且Log4Net也是比较熟悉的日志工具,因此我们实际使用中,也是log4net记录日志

Spring整合Quartz实现动态定时器,相关api,定时器添加,删除,修改

独自空忆成欢 提交于 2020-01-24 17:48:03
一、版本说明 spring3.1以下的版本必须使用quartz1.x系列,3.1以上的版本才支持quartz 2.x,不然会出错。 原因:spring对于quartz的支持实现,org.springframework.scheduling.quartz.CronTriggerBean继承了org.quartz.CronTrigger,在quartz1.x系列中org.quartz.CronTrigger是个类,而在quartz2.x系列中org.quartz.CronTrigger变成了接口,从而造成无法用spring的方式配置quartz的触发器(trigger) 此示例所选版本:spring版本号3.0.7.RELEASE,quartz版本1.8.6 二、添加jar包 我的是maven工程,pom.xml相关配置如下: <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <spring.version>3.0.7.RELEASE</spring.version> <quartz.version>1.8.6</quartz.version> </properties>      <dependency> <groupId>org.springframework<

通过maven添加quartz

Deadly 提交于 2020-01-24 17:45:32
pom.xml中相关dependency信息 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 < dependency > < groupId >org.springframework</ groupId > < artifactId >spring-context</ artifactId > < version >3.1.1.RELEASE</ version > </ dependency > < dependency > < groupId >org.springframework</ groupId > < artifactId >spring-context-support</ artifactId > < version >3.1.1.RELEASE</ version > </ dependency > < dependency > < groupId >org.springframework</ groupId > < artifactId >spring-tx</ artifactId > < version >3.1.1.RELEASE</ version > </ dependency > < dependency > < groupId >org

Quartz任务调度2

百般思念 提交于 2020-01-24 17:41:00
注意: 不同的版本的jar包,具体的操作不太相同,但是思路是相同的;比如1.8.6jar包中,JobDetail是个类,直接通过构造方法与Job类关联。SimpleTrigger和CornTrigger是类;在2.2.1jar包中,JobDetail是个接口,SimpleTrigger和CornTrigger是接口 mavan工程引入的包: ? 1 2 3 4 5 6 7 8 9 10 11 <!-- 任务调度器相关包 --> < 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 > 代码清单1 SimpleJob:简单的Job实现类: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 import org.quartz.Job; import org

Quartz2之入门示例

拟墨画扇 提交于 2020-01-24 17:40:12
环境:XP+Myeclipse6.5+JDK1.6 quartz官网: http://www.quartz-scheduler.org/ 参考资料 1 Quartz任务调度快速入门 http://www.blogjava.net/baoyaer/articles/155645.html 2 Quartz http://ttaale.iteye.com/blog/630202 http://java-lyvee.iteye.com/blog/817110 3 Quartz Job Scheduling Framework http://hi.baidu.com/recoder/blog/item/ec7642f1db2b68a7a40f52f3.html 4 Quartz学习 http://blog.csdn.net/bubei/article/details/2108778 5 Quartz学习资料链接 http://topmanopensource.iteye.com/blog/search?query=quartz 特别说明:如无特别说明,所有有关quartz示例基于官方示例 一 Quarta介绍 1 Quartz是什么 Quartz就是一个纯 Java 实现的作业调度工具,相当于数据库中的 Job、Windows 的计划任务、Unix/Linux 下的 Cron,但

quartz入门实例

瘦欲@ 提交于 2020-01-24 17:39:29
一 Quarta介绍 1 Quartz是什么 Quartz就是一个纯 Java 实现的作业调度工具,相当于数据库中的 Job、Windows 的计划任务、Unix/Linux 下的 Cron,但 Quartz 可以把排程控制的更精细. 2 Quartz 框架的发展历程 Quartz项目是由James House创立的,在1998年就有该框架最初的构思,包括作业队列的概念,使用线程池来处理作业,在2001年春天在SourceForge 上创立了该项目 . Quartz 的目录结构和内容 Docs Quartz 框架的JavaDoc Api 说明文档 Examples 多方面使用 Quartz 的例子 Lib Quartz 使用到的第三方包 quartz-jboss 提供了特定于 JBoss 特性的源代码 quartz-oracle 提供了特定于 Oracle 特性的源代码 quartz-weblogic 提供了特定于 WebLogic 特性的源代码 二 Quartz的应用场景 场景 #1: 邮件提醒和告警 场景 #2: 执行文件传输操作 场景 #3: 创建销售报表 三 Quarta的安装及使用 官网:http://www.quartz-scheduler.org/下载最新的文件,需要你注册才能下载!也可在附件中下载 四 了解Quartz体系结构

Quartz.Net简单使用

你。 提交于 2020-01-24 17:37:06
Quartz.Net为开源的作业调度框架,使用方便,实现IJob接口,及相关配置,即可实现调度。 项目包安装: install-package Quartz install-package log4net install-package Common.Logging.Log4Net1211 (最新版为Common.Logging.Log4Net1213,但会出现“ Unable to create instance of type Common.Logging.Log4Net.Log4NetLoggerFactoryAdapter .”异常) 配置文件: 编辑App.config 1 <?xml version="1.0" encoding="utf-8"?> 2 <configuration> 3 <startup> 4 <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" /> 5 </startup> 6 <runtime> 7 <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 8 <dependentAssembly> 9 <assemblyIdentity name="log4net" publicKeyToken=

Net Quartz使用

我们两清 提交于 2020-01-24 17:35:26
安装Quartz 已经先安装了2.5版本,现在换成2.4 程序包管理器控制台: PM> Install-Package Quartz -Version 2.4 正在尝试收集与目标为“.NETFramework,Version=v4.5.2”的项目“ConsoleApplication2”有关的包“Quartz.2.4.0”的依赖项信息 正在尝试解析程序包“Quartz.2.4.0”的依赖项,DependencyBehavior 为“Lowest” 正在解析操作以安装程序包“Quartz.2.4.0” 已解析操作以安装程序包“Quartz.2.4.0” 已从“packages.config”中删除程序包“Quartz.2.5.0” 已从 ConsoleApplication2 成功卸载“Quartz.2.5.0” GET https://api.nuget.org/packages/quartz.2.4.0.nupkg OK https://api.nuget.org/packages/quartz.2.4.0.nupkg 136ms 正在安装 Quartz 2.4.0。 正在将程序包“Quartz.2.4.0”添加到文件夹“D:\UserData\Administrator\Documents\Visual Studio 2015\Projects

spring中定时任务quartz2.2.3

时光总嘲笑我的痴心妄想 提交于 2020-01-24 12:51:36
定时任务几种实现方式 Java自带的java.util.Timer类,这个类允许你调度一个java.util.TimerTask任务,没怎么用过就不说了。 Spring3.0以后自带的task,可以将它看成一个轻量级的Quartz,而且使用起来比Quartz简单许多。 java的线程池类ScheduledExecutorService也可以实现一些简单的定时任务,周期性任务。 Quartz是一个功能比较强大的的调度器,可以让你的程序在指定时间执行,也可以按照某一个频度执行,可以方便的分布式部署、便捷的监控和管理任务,适合任务很多的情况。 Quartz介绍 它是一个开源的定时调度框架,支持集群部署。我们可以通过其Java API来使用它,或者通过Spring来配置与管理,也可以结合使用两种方式。本文重点分析Quartz2.2.3与Spring4.3.0.RELEASE集成时的 所需jar包:quartz.jar,spring-context-support.jar,commons-collections-3.2.jar; Quartz配置:quartz-config.xml <bean id="schedulerFactoryBean" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">