`
macken
  • 浏览: 346106 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

quartz1.8 作业job配置文件方法

    博客分类:
  • Java
阅读更多

       由于项目需要,需要做一个定时调度的守护进程,查了一些开源的调度框架,最重选定了quart(http://www.quartz-scheduler.org/),下载了最新的1.8.4版本,同时下了一些相关的学习资料(附在文章的附件上面)。电子资料是基于quart1.5版本的,在新的1.8.4的版本中,quartz.properties和quartz_jobs.xml的配置方式发生了改变,但是网站这方面的资料很少,于是根据quartz 1.8版本的job.xml的配置规范http://www.quartz-scheduler.org/xml/job_scheduling_data_1_8.xsd将基于quartz 1.8的配置文件的配置规则进行一下简介。

1. 首先quartz.properties的配置中,关于XML的解析类的配置发生了改变由

 

org.quartz.plugin.jobInitializer.class =org.quartz.plugins.xml.JobInitializationPlugin

 变为

 

 

org.quartz.plugin.jobInitializer.class = org.quartz.plugins.xml.XMLSchedulingDataProcessorPlugin

 

2. 基于quartz 1.8的1_8.xsd模式规范得出 的quartz_jobs.xml的配置格式如下

 

<?xml version="1.0" encoding="UTF-8"?>
<job-scheduling-data xmlns="http://www.quartz-scheduler.org/xml/JobSchedulingData"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.quartz-scheduler.org/xml/JobSchedulingData http://www.quartz-scheduler.ogr/xml/job_scheduling_data_1_8.xsd"
	version="1.8">
	<pre-processing-commands>
		<!--在执行作业和触犯器之前执行的命令-->
		<delete-jobs-in-group>*</delete-jobs-in-group>
		<!-- 删除标示组中的所有作业,如果是“*”,则删除所有组中的作业,同时也会删除与作业有关的触犯器 -->
		<delete-triggers-in-group>*</delete-triggers-in-group>
		<!-- 删除标示组中的所有触犯器,如果是“*”,则删除所有组中的触发器 -->
		<delete-job>
			<!-- 删除指定的作业,同时也会删除与它关联的触犯器 -->
			<name></name>
			<group></group>
		</delete-job>
		<delete-trigger>
			<!-- 删除指定的触犯器 -->
			<name></name>
			<group></group>
		</delete-trigger>
	</pre-processing-commands>
	
	<processing-directives>
		<!-- 在计划作业和触发器是应遵循的命令和原则 -->
		<overwrite-existing-data>true or false</overwrite-existing-data>
		<!-- 是否复写已经存在的任务计划数据,如果为false并且ingore-duplicates非false,那么文件中同名的触发器或作业将会继续存在,则会产生错误-->
		<ignore-duplicates>true or false</ignore-duplicates>
		<!-- 如果为true,计划中的任何同名的作业/触发器将会被忽略,不会产生错误-->
	</processing-directives>
		
	<schedule>
		<job>
			<name>JobName</name>
			<group>JobGroup</group>
			<description></description>
			<job-class></job-class>
			<job-listener-ref></job-listener-ref>
			<!-- volatility,durability,recover必须按顺序设定 -->
			<volatility></volatility>
			<durability></durability>
			<recover></recover>
			<job-data-map>
				<!-- entry可以设定多个-->
				<entry>
					<key></key>
					<value></value>
				</entry>
			</job-data-map>
		</job>
		<trigger>
			<!-- Trigger分为simple,cron,date-interval三种类型,一个trigger中只能指定一种类型-->
			<simple>
				<name></name>
				<group></group>
				<description></description>
				<job-name></job-name>
				<job-group></job-group>
				<calendar-name></calendar-name>
				<volatility></volatility>
				<job-data-map>
					<entry>
						<key></key>
						<value></value>
					</entry>
				</job-data-map>
				<start-time></start-time>
				<end-time></end-time>
				<misfire-instruction></misfire-instruction>
				<repeat-count></repeat-count>
				<repeat-interval></repeat-interval>
			</simple>
			<cron>
				<name></name>
				<group></group>
				<description></description>
				<job-name></job-name>
				<job-group></job-group>
				<calendar-name></calendar-name>
				<volatility></volatility>
				<job-data-map>
					<entry>
						<key></key>
						<value></value>
					</entry>
				</job-data-map>
				<start-time></start-time>
				<end-time></end-time>
				<misfire-instruction></misfire-instruction>
				<cron-expression></cron-expression>
				<time-zone></time-zone>
			</cron>
			<date-interval>
				<name></name>
				<group></group>
				<description></description>
				<job-name></job-name>
				<job-group></job-group>
				<calendar-name></calendar-name>
				<volatility></volatility>
				<job-data-map>
					<entry>
						<key></key>
						<value></value>
					</entry>
				</job-data-map>
				<start-time></start-time>
				<end-time></end-time>
				<misfire-instruction></misfire-instruction>
				<repeat-interval></repeat-interval>
				<repeat-interval-unit></repeat-interval-unit>
			</date-interval>
		</trigger>
	</schedule>
</job-scheduling-data>

  参考资料:

http://foxswily.iteye.com/blog/683007

http://f543711700.iteye.com/blog/831619

 

 

 

2
5
分享到:
评论
3 楼 macken 2011-04-07  
aspnetdb 写道
为了让程序只需运转,我发现了一个好的软件,叫做Alwaysup,在程序崩溃的时候可以自动重启的。

有linux的版本吗?我没查到
2 楼 aspnetdb 2011-04-07  
为了让程序只需运转,我发现了一个好的软件,叫做Alwaysup,在程序崩溃的时候可以自动重启的。
1 楼 aspnetdb 2011-03-17  
哈哈,动作挺快嘛。

相关推荐

    spring3+ quartz1.8使用以及eclipse代码

    本文将深入探讨Spring3与Quartz1.8的集成与使用,包括配置方法、API使用以及集群设置。 一、Spring3与Quartz的结合 1. 配置引入 首先,我们需要在Spring的配置文件中引入Quartz的相关依赖。在`beans.xml`中添加...

    spring3整合quartz1.8和spring3整合quartz2.2两个版本示例

    4. **创建 JobDetail**:在 Spring 配置文件中,通过 `&lt;bean&gt;` 标签创建 `JobDetail` 实例,指定 Job 类及其属性。 5. **定义 Trigger**:使用 `&lt;bean&gt;` 标签创建 `Trigger`,定义任务触发规则,如触发时间、重复...

    spring2与quartz在Web整合

    3. **整合过程**:整合 Spring 2 和 Quartz 需要在 Spring 配置文件中声明 Job 和 Trigger 的 Bean,并指定它们的关联。Spring 可以通过其自身的 JobFactory 来创建 Job 实例,使得 Job 可以利用 Spring 的 DI 功能...

    Quartz实例(1.8实例)及1.8和1.6源码

    4. **配置文件**:不同版本的Quartz可能有不同的默认配置,因此在迁移时需要注意更新配置文件,以确保新版本能正确运行。 5. **兼容性**:如果你的项目已经基于1.6版本的Quartz,升级到1.8时需要注意兼容性问题,...

    quartz-1.8.6

    2. **配置**:在项目中创建一个配置文件,例如`quartz.properties`,配置数据库连接、job存储策略、线程池大小等参数。 3. **作业和触发器定义**:创建Job类实现`org.quartz.Job`接口,定义任务逻辑。同时,创建...

    Quartz2.2版本开发手册(JAVA)

    Quartz的配置可以通过`org.quartz.impl.StdSchedulerFactory`进行设置,可以通过XML文件、Properties文件或Java代码来指定配置细节。配置项包括JobStore的选择、线程池的配置等。 #### 1.11 高级(企业级)属性 ...

    spring添加触发器+quartz

    - 在 Spring 的配置文件(如 `applicationContext.xml`)中,你需要声明一个 `SchedulerFactoryBean`,这将负责初始化和管理 Quartz Scheduler。同时,配置触发器(Trigger)来决定何时运行 Job。 ```xml ...

    Spring quartz整合

    最后,将Job和Trigger关联起来,并在Spring配置文件中声明: ```xml &lt;!-- 定义JobDetail --&gt; &lt;bean id="myJob" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"&gt; ...

    spring-quartz jar包

    1. **配置简单**:通过Spring的XML配置或者Java配置,可以方便地声明和管理Quartz的Job和Trigger。 2. **集成优势**:Spring的依赖注入可以注入到Quartz Job中,使得Job实例可以利用Spring容器中的其他服务。 3. **...

    Quartz单独开发用到的所有的jar包,包括web开发

    5. **commons-digester-1.8.jar**: Commons Digester库允许开发者基于XML配置文件自动创建和初始化Java对象。在Quartz中,它可能被用来解析配置文件,动态地生成和配置调度任务。 6. **commons-logging-1.1.jar**: ...

    xxl-job 架构图

    ### xxl-job 架构详解 #### 一、概述 xxl-job 是一款轻量级分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。xxl-job 提供了一个非常直观的任务调度界面,并且支持在多台服务器上部署执行...

    基于 SpringBoot 的调度框架

    Quartz提供了API来创建Job(任务)和Trigger(触发器),Job定义了要执行的工作,Trigger决定何时执行。在Spring Boot中,你可以利用`@EnableScheduling`注解开启调度功能,并通过`@Scheduled`注解在方法上定义定时...

    基于springboot的设备管理系统+源代码+文档说明

    │ └─generator.properties 代码生成器,配置文件 │ ├─client 客户端模块,业务前端部分 ``` **技术选型:** - 核心框架:Spring Boot 2.0 - 安全框架:Apache Shiro 1.4 - 视图框架:Spring MVC 5.0...

Global site tag (gtag.js) - Google Analytics