quartz

kettle结合quartz框架实现任务调度

匿名 (未验证) 提交于 2019-12-02 23:36:01
Quartz定机制 首先导入jar包程序内 quartz-all-1.6.0.jar 创建XML TimeConfig.xml 名字自定义 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" ""> <beans> <bean id="mainTask" class="net.timed.MainTask"/> //要执行任务类 //jar类 <bean id="mainJob" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> <property name="targetObject"> <ref bean="mainTask"/>//类添加定器 </property> <property name="targetMethod"> <value>execute</value> //定执行类面哪 </property> </bean> <bean id="timeTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean"> <property name=

Quartz实现定时任务调度

匿名 (未验证) 提交于 2019-12-02 23:30:02
添加依赖 < dependency > < groupId > org . quartz - scheduler < / groupId > < artifactId > quartz < / artifactId > < version > 2.2 .1 < / version > < / dependency > applicationContext_job.xml < ? xml version = "1.0" encoding = "UTF-8" ? > < beans xmlns = "http://www.springframework.org/schema/beans" xmlns : xsi = "http://www.w3.org/2001/XMLSchema-instance" xmlns : context = "http://www.springframework.org/schema/context" xmlns : aop = "http://www.springframework.org/schema/aop" xmlns : tx = "http://www.springframework.org/schema/tx" xsi : schemaLocation = " http : / / www . springframework . org /

Spring整合Quartz分布式调度的示例代码

你。 提交于 2019-12-02 23:25:58
前言 为了保证应用的高可用和高并发性,一般都会部署多个节点;对于定时任务,如果每个节点都执行自己的定时任务,一方面耗费了系统资源, 另一方面有些任务多次执行,可能引发应用逻辑问题,所以需要一个分布式的调度系统,来协调每个节点执行定时任务。 Spring整合Quartz Quartz是一个成熟的任务调度系统,Spring对Quartz做了兼容,方便开发,下面看看具体如何整合: 1.Maven依赖文件 <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>4.3.5.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> <version>4.3.5.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-tx</artifactId> <version>4.3.5

Quartz之使用案例

匿名 (未验证) 提交于 2019-12-02 23:03:14
一、任务调度的触发时机 1.每隔指定时间则触发一次 Quartz中对应的触发器为org.springframework.scheduling.quartz. SimpleTriggerBean 2.每到指定时间则触发一次 Quartz中对应的调度器为:org.springframework.scheduling.quartz. CronTriggerBean <bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean"> <property name="jobDetail" ref="job1" /> <!―每天12:00运行一次 ―> <property name="cronExpression" value="0 0 12 * * ?" /> </bean> 并非每种任务都可以使用这两种触发器,如java.util.TimerTask任务就只能使用第一种。Quartz和spring task都可以支持这两种触发条件。 二、Quartz作业类的继承方式 1. 作业类继承自特定的基类 作业类继承于org.springframework.scheduling.quartz. QuartzJobBean 第一步:定义作业类 import org.quartz

什么是Quartz

匿名 (未验证) 提交于 2019-12-02 22:56:40
什么是Quartz 分享人:张强 正在编辑… 1.背景介绍 2.知识剖析 3.常见问题 4.编码实战 5.扩展思考 6.参考文献 7.更多讨论 1.背景介绍 什么是Quartz Quartz是一个开源任务调度框架。当前版本2.2.3 Quartz是OpenSymphony开源组织在Job scheduling(时间调度)领域一个开源项目,(OpenSymphony――开源组织的峨眉派,它的每个开源项目都有自己独特的特点)任务调度:在某个有规律的时间点来执行某件事。时间的触发的条件可能非常复杂,有可能携带复杂的条件等。任务调度是操作系统的重要组成部分,而对于实时操作系统,任务调度直接影响其实时性能。JAVA中任务调度是指基于给定时间点,给定时间间隔或者给定执行次数自动执行任务。 实现方式有: JDK原生定时工具:java.util.Time; JDK对定时任务调度的线程池支持:ScheduledExecutor; 开源工具:Quartz; 开源工具:JCronTab。 2.知识剖析 Quartz特点 纯java实现,可以作为独立的应用程序,也可以嵌入在另一个独立式应用程序运行 强大的调度功能,Spring默认的调度框架,灵活可配置; 作业持久化,调度环境持久化机制,可以保存并恢复调度现场。系统关闭数据不会丢失;灵活的应用方式,可以任意定义触发器的调度时间表,支持任务和调度各种组合

Spring Boot 2.X(十二):定时任务

生来就可爱ヽ(ⅴ<●) 提交于 2019-12-02 22:23:51
简介 定时任务是后端开发中常见的需求,主要应用场景有定期数据报表、定时消息通知、异步的后台业务逻辑处理、日志分析处理、垃圾数据清理、定时更新缓存等等。 Spring Boot 集成了一整套的定时任务工具,让我们专注于完成逻辑,剩下的基础调度工作将自动完成。 通用实现方式 实现方式 描述 java.util.Timer Timer 提供了一个 java.util.TimerTask 任务支持任务调度。该方式只能按指定频率执行,不能在指定时间运行。由于功能过于单一,使用较少。 Quartz Quartz 是一个功能比较强大的调度器,支持在指定时间运行,也可以按照指定频率执行。缺点是使用起来相对麻烦。 Spring 框架自带的 Schedule 模块 可以看做是轻量级的 Quartz 静态定时任务 @Component @EnableScheduling public class StaticScheduleJob { /** * 上次开始执行时间点后5秒再次执行 */ @Scheduled(fixedRate = 5000) public void job3() { System.out.println("执行任务job3:"+DateUtil.formatDateTime(new Date())); } /** * 上次执行完毕时间点后3秒再次执行 */ @Scheduled

Quartz定时任务串行调度 fixedDelay

匿名 (未验证) 提交于 2019-12-02 21:53:52
项目需要搞分布式,出于一些原因定时器的代码也需要部署两份,但是定时器是不需要跑两遍,所以考虑了分布式的定时任务框架Quartz。主要解决2个问题: 多台服务运行,保证只有一台服务的定时器在跑。这台服务不挂,另一台上的定时器永远不启动。 保证定时器串行调度。一个定时任务没有执行完,绝对不会触发第二次。(类似于Spring的定时器的fixedDelayString参数) 于是我就开始写demo,第一个很容易就得到了解决这里就不细说了,坑在了第二个,由于我用的是比较新的版本所以找了很多资料都不合适,结果没办法,跑去调试源码。(容易吗我,写个demo要去调源码) 网上很多人都说只要concurrent 设置为false @Bean("testJobDetail") public JobDetailFactoryBean testJobDetail() { JobDetailFactoryBean bean = new JobDetailFactoryBean(); bean.setDurability(true); bean.setRequestsRecovery(true); bean.setJobClass(MyDetailQuartzJobBean.class); Map<String, String> map = new HashMap<>(); //配置定时任务类 map.put

几种任务调度的 Java 实现方法与比较

匿名 (未验证) 提交于 2019-12-02 21:53:52
转自: https://www.ibm.com/developerworks/cn/java/j-lo-taskschedule/ 同事回家的路上跟我说你猜我在想什么问题:我在模拟面试官考我任务调度这个问题该怎么回答.当时想不就是一定时任务吗?于是回来后也查了下想总结总结,网上资料太多了,写得一个比一个好,就转载一篇吧(其实转载还是不如自己写来的印象深刻)做完这个项目再整理吧.如下为转载正文: 前言 任务调度是指基于给定时间点,给定时间间隔或者给定执行次数自动执行任务。本文由浅入深介绍四种任务调度的 Java 实现: Timer ScheduledExecutor 开源工具包 Quartz 开源工具包 JCronTab 此外,为结合实现复杂的任务调度,本文还将介绍 Calendar 的一些使用方法。 Timer 相信大家都已经非常熟悉 java.util.Timer 了,它是最简单的一种实现任务调度的方法,下面给出一个具体的例子: 清单 1. 使用 Timer 进行任务调度 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 26 27 28 29 30 31 32 33 34 35 36 37 package com.ibm.scheduler; import java.util.Timer;

SpringBoot集成Quartz实现定时器

匿名 (未验证) 提交于 2019-12-02 21:53:52
SpringBoot+Quartz实现定时器, 1.pom配置 <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-tx</artifactId> </dependency> <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</artifactId> <version>2.2.1</version> </dependency>    2.注册[pring-boot启动完成事件监听,用于启动job任务 @Configuration public class SchedulerListener implements ApplicationListener<ContextRefreshedEvent> { @Autowired public MyScheduler myScheduler; @Override public void onApplicationEvent

SpringBoot2.x开发案例之整合Quartz任务管理系统

匿名 (未验证) 提交于 2019-12-02 21:53:32
基于spring-boot 2.x + quartz 的CRUD任务管理系统,适用于中小项目。 基于spring-boot +quartz 的CRUD任务管理系统: https://gitee.com/52itstyle/spring-boot-quartz JDK1.8、Maven、Eclipse SpringBoot2.0.1、thymeleaf3.0.9、quartz2.3.0、iview、vue、layer、AdminLTE、bootstrap 项目使用的数据库为MySql,选择resources/sql中的tables_mysql_innodb.sql文件初始化数据库信息。 在resources/application.properties文件中替换为自己的数据源。 运行Application main方法启动项目,项目启动会自动创建一个测试任务 见:com.itstyle.quartz.config.TaskRunner.java。 项目访问地址: http://localhost:8080/task 项目源码: https://gitee.com/52itstyle/spring-boot-task 这里只是针对这两个项目异同做比较,当然spring-boot 2.x版本升级还有不少需要注意的地方。 项目名称配置: # spring boot 1.x server