`
charyle
  • 浏览: 166107 次
  • 性别: Icon_minigender_1
  • 来自: 天蝎座
社区版块
存档分类
最新评论

quartz2 小结

 
阅读更多

        最近要再次使用quartz,下载来发现是2.1.7版本,记得以前用的是1.X版本的,网上找了个例子发现类都有问题,感觉2.X版本是个重要升级,结构可能会改变,再次度娘发现quartz2的资源比较少,于是再次从文档研究起来了.

        下载地址:http://www.quartz-scheduler.org/downloads,最下面有跳过注册连接,并非一定注册哦

        下载后的gz文件解压竟然是个无后缀名的文件,下了2次都是的,于是试着再次把这个解压后的文件名加上后缀.gz,再次解压,终于成功解压出了quartz2.1.7的文件夹...

        不多说了,在eclipse中建立java项目,把quartz的quartz.jar和lib目录下的jar放到项目中...运行起来还是没问题的,关键是我想要使用数据库持久化quartz的运行情况...于是找到了example的example13,一个个看example太麻烦了,不是有examples_guide.txt嘛...想怎么用自己看了..

         如果要数据库持久化quartz,数据库中要先建立对应的表,项目目录docs\dbTables下有各种数据库初始化sql.

         在example13中找到properties文件,改名为quartz.properties,修改起其中的地方时:

         org.quartz.jobStore.class=org.quartz.impl.jdbcjobstore.JobStoreTX

         org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.HSQLDBDelegate#==我的是hsqldb,同志们使用的嘛数据库看Other Example Delegates...

          然后将# Configure Datasources  下面的数据源配置修改成自己的数据库,配置文件部分就改完了.

          把example文件夹中的源文件全部拷贝下来,对了还要log4j.xml放到根目录下,然后就运行ClusterExample.java,控制台输出log信息了,说明你已经成功了...运行完毕,

          看看数据库的情况,应该已经记录了,那么在此启动程序,使用下面代码:

          

SchedulerFactory sf = new StdSchedulerFactory();
		Scheduler sched = sf.getScheduler();
		sched.start();

           发现控制台的日志输出信息,还是5个任务,说明调度器已经成功启动了...

           最后终结:

           1.quartz2的发布时间是2011年,而quartz1.8.6是2012,说明现在是2个版本,应该都可以用.

           2.利用数据库持久化调度情况下,再次启动quartz时,会自动加载数据库中任务,不用手动..

           3.多看例子和源码,少百度,example13中的例子tigger的时间设置只有SimpleScheduleBuilder,那么cron的tigger时间哪里来呢?找到SimpleScheduleBuilder的父类ScheduleBuilder,ctrl+T,发现CronScheduleBuilder,那么搞个试下

              

		SchedulerFactory sf = new StdSchedulerFactory();
		Scheduler sched = sf.getScheduler();

		JobDetail job = newJob(SimpleRecoveryJob.class)
				.withIdentity("job_corn", sched.getSchedulerInstanceId()) // put
																			// triggers
																			// in
				// group named after
				// the cluster node
				// instance just to
				// distinguish (in
				// logging) what was
				// scheduled from
				// where
				.requestRecovery() // ask scheduler to re-execute this job
									// if it was in progress when the
									// scheduler went down...
				.build();

		CronTrigger trigger = newTrigger()
				.withIdentity("triger_corn", sched.getSchedulerInstanceId())
				.startAt(new Date())
				.withSchedule(CronScheduleBuilder.cronSchedule("0/8 * * * * ?")).build();
		sched.scheduleJob(job, trigger);
		sched.start();

	

             通过源码,还发现Scheduler其实是单例的.. 并发不用太担心

             4.Spring整合下,没搞呢,下篇吧

           

分享到:
评论

相关推荐

    Quartz使用小结

    这个小结将深入探讨Quartz的核心概念、使用场景以及如何与Spring框架集成。 一、Quartz简介 Quartz是由Caledonia Software公司开发的Java定时任务库,它提供了一种高度可配置的方式来安排和执行工作。Quartz支持...

    quartz 在WEB中应用小结

    这篇博客文章"quartz 在WEB中应用小结"以及《Quartz开发指南.pdf》提供了关于如何在Web环境中集成和使用Quartz 的深入指导。 一、Quartz 概述 Quartz 提供了丰富的API来创建和管理作业与触发器。作业是实际执行的...

    任务调度框架Quartz

    小结 Quartz 是一个功能强大且灵活的任务调度框架,能够满足大多数的调度需求。Quartz 的高度灵活性、高度可控性和持久化机制使其成为企业应用中任务调度的不二之选。 附录 1 Quartz 任务调度框架的应用场景非常...

    任务调度Quartz框架

    ### 小结 Quartz作为一款成熟的任务调度框架,其强大的功能和易用性使其成为Java开发者的首选。通过灵活的Job和Trigger组合,以及持久化机制,开发者可以轻松地构建复杂而稳定的任务调度系统。同时,Quartz提供的...

    Java分布式Elastic-Job和Quartz定时任务课程(1.6G)

    10_知识点检测与小结.mp4 11_Elastic-Job框架介绍.mp4 12_初识Elastic-Job.mp4 13_急速入门Simple-1.mp4 14_急速入门Simple-2.mp4 15_急速入门dataflow.mp4 16_急速入门script.mp4 17_知识点检测与小结.mp4 18_...

    Spring in Action(第二版 中文高清版).part2

    第一部分 Spring的核心 第1章 开始Spring之旅 1.1 Spring是什么 1.2 开始Spring之旅 1.3 理解依赖注入 1.3.1 依赖注入 1.3.2 DI应用 1.3.3 企业级应用中的依赖注入 1.4 应用AOP ...B.4 小结

    Spring in Action(第2版)中文版

    目录 第一部分spring的核心 第1章开始spring之旅 1.1spring是什么 1.2开始spring之旅 1.3理解依赖注入 ...1.5小结 ...第2章基本bean装配 ...2.6小结 ...3.7小结 ...4.6小结 ...5.8小结 ...6.5小结 ...7.7小结 ...b.4小结

    Spring攻略(第二版 中文高清版).part2

    1.15 小结 56 第2章 高级Spring IoC容器 57 2.1 调用静态工厂方法创建Bean 57 2.1.1 问题 57 2.1.2 解决方案 57 2.1.3 工作原理 57 2.2 调用一个实例工厂方法创建Bean 58 2.2.1 问题 58 2.2.2 ...

    Spring in Action(第二版 中文高清版).part1

    第一部分 Spring的核心 第1章 开始Spring之旅 1.1 Spring是什么 1.2 开始Spring之旅 1.3 理解依赖注入 1.3.1 依赖注入 1.3.2 DI应用 1.3.3 企业级应用中的依赖注入 1.4 应用AOP ...B.4 小结

    Spring攻略(第二版 中文高清版).part1

    1.15 小结 56 第2章 高级Spring IoC容器 57 2.1 调用静态工厂方法创建Bean 57 2.1.1 问题 57 2.1.2 解决方案 57 2.1.3 工作原理 57 2.2 调用一个实例工厂方法创建Bean 58 2.2.1 问题 58 2.2.2 ...

    Spring.3.x企业应用开发实战(完整版).part2

    1.8 小结 第2章 快速入门 2.1 实例功能概述 2.1.1 比Hello World更适用的实例 2.1.2 实例功能简介 2.2 环境准备 2.2.1 创建库表 2.2.2 建立工程 2.2.3 类包及Spring配置文件规划 2.3 持久层 2.3.1 建立领域对象 ...

    iphone3开发基础教程

    2.4 小结 20 第3章 处理基本交互 21 3.1 MVC范型 21 3.2 创建项目 22 3.3 创建视图控制器 22 3.3.1 输出口 23 3.3.2 操作 24 3.3.3 将操作和输出口添加到视图控制器 24 3.3.4 将操作和输出口添加到实现文件 26 3.4 ...

    Grails权威指南

    第1章 寻找grails之旅  1.1 java的困惑  1.2 webc2.0时代  1.3 java的力量  1.4 什么是grails  1.4.1 与java集成 ... 1.8 本章小结 ...第2章 groovy动态语言 ... 11.7 本章小结

    Spring3.x企业应用开发实战(完整版) part1

    1.8 小结 第2章 快速入门 2.1 实例功能概述 2.1.1 比Hello World更适用的实例 2.1.2 实例功能简介 2.2 环境准备 2.2.1 创建库表 2.2.2 建立工程 2.2.3 类包及Spring配置文件规划 2.3 持久层 2.3.1 建立领域对象 ...

    iPhone开发基础教程PDF(含源代码)

     2.4 小结  第3章 处理基本交互  3.1 模型-视图-控制器范型  3.2 创建项目  3.3 创建视图控制器  3.3.1 输出口  3.3.2 操作  3.3.3 将操作和输出口添加到视图控制器  3.3.4 将操作和输出口添加到实现文件 ...

    Spring 的定时任务

    #### 四、小结 通过以上步骤,我们已经成功配置了一个基于Spring和Quartz的定时任务,该任务每隔50秒会自动调用`LocalCacheRefreshServiceImpl`中的`refreshLocalCache`方法,以刷新本地缓存。这种方式不仅简单易用...

Global site tag (gtag.js) - Google Analytics