quartz.properties配置

一. 主要的 Quartz 属性 

表 A.1 列出了主要的 Scheduler 属性。它们用于声明和标识 Scheduler 和其他高层次的设置。

表 A.1. 主要的 Quartz Scheduler 属性
名称必须类型默认值 
org.quartz.scheduler.instanceNameString'QuartzScheduler' 
org.quartz.scheduler.instanceIdString'NON_CLUSTERED' 
org.quartz.scheduler.instanceIdGenerator.classStringorg.quartz.simpl.SimpleInstanceIdGenerator 
org.quartz.scheduler.threadNameStringinstanceName+'_QuartzSchedulerThread' 
org.quartz.scheduler.idleWaitTimeLong30000 
org.quartz.scheduler.dbFailureRetryIntervalLong15000 
org.quartz.scheduler.classLoadHelper.classStringorg.quaartz.simpl.CascadingClassLoadHelper 
org.quartz.context.key.SOME_KEYStringNone 
org.quartz.scheduler.userTransactionURLString'java:comp/UserTransaction' 
org.quartz.scheduler.wrapJobExecutionIn
UserTransaction
Booleanfalse 
org.quartz.scheduler.jobFactory.classStringorg.quartz.simple.SimpleJobFactory 

·org.quartz.scheduler.instanceName 

每个 Scheduler 必须给定一个名称来标识。当在同一个程序中有多个实例时,这个名称作为客户代码识别是哪个 Scheduler 而用。假如你用到了集群特性,你就必须为集群中的每一个实例使用相同的名称,以使它们成为“逻辑上” 是同一个 Scheduler 。

·org.quartz.scheduler.instanceId

每个 Quartz Scheduler 必须指定一个唯一的 ID。这个值可以是任何字符串值,只要对于所有的 Scheduler 是唯一的。如果你想要自动生成的 ID,那你可以使用 AUTO  作为  instanceId  。从版本 1.5.1 开始,你能够定制如何自动生成实例 ID。见 instanceIDGenerator.class  属性,会在接下来讲到。

·org.quartz.scheduler.instanceIdGenerator.class

从版本 1.5.1 开始,这个属性允许你定制instanceId 的生成,这个属性仅被用于属性 org.quartz.scheduler.instanceId  设置为 AUTO  的情况下。默认是  org.quartz.simpl.SimpleInstanceIdGenerator ,它会基于主机名和时间戳来产生实例 ID 的。

·org.quartz.scheduler.threadName

可以是对于 Java 线程来说有效名称的任何字符串。假如这个属性未予指定,线程将会接受 Scheduler 名称 ( org.quartz.scheduler.instanceName  ) 前附加上字符串 ' _QuartzSchedulerThread'  作为名称。

·org.quartz.scheduler.idelWaitTime 

这个属性设置了当 Scheduler 处于空闲时转而再次查询可用 Trigger 时所等待的毫秒数。通常,你无需调整这个参数,除非你正使用 XA 事物,遇到了 Trigger 本该立即触发而发生延迟的问题。

·org.quartz.scheduler.dbFailureRetryInterval

这个属性设置 Scheduler 在检测到 JobStore 到某处的连接(比如到数据库的连接) 断开后,再次尝试连接所等待的毫秒数。这个参数在使用  RamJobStore  无效。

·org.quartz.scheduler.classLoadHelper.class

对于多数健状的应用,所使用的默认值为  org.quartz.simpl.CascadingClassLoadHelper  类,它会依序使用其他的 ClassLoadHelper  类,直到有一个能正常工作为止。你大概没必须为这个属性指定任何其他的类,除非有可能在应用服务器中时。当前所有可能的 ClassLoadHelper  实现可在  org.quartz.simpl  包中找到。

·org.quartz.context.key.SOME_KEY 

这个属性用于向 "Scheduler 上下文" 中置入一个 名-值 对表示的字符串值。(见  Scheduler.getContext()  )。因此,比如设置了 org.quartz.context.key.MyEmail =  myemail@somehost.com 就相当于执行了 scheduler.getContext().put("MyEmail",  myemail@somehost.com )  

·org.quartz.scheduler.userTransactionURL

它设置了 Quartz 能在哪里定位到应用服务器的  UserTransaction  管理器的 JNDI URL。默认值(未设定的话) 是 java:comp/UserTransaction  ,这几乎能工作于所有的应用服务器中。Websphere 用户也许需要设置这个属性为 jta/usertransaction  。这个属性仅用于 Quartz 配置使用  JobStoreCMT  的情况,并且 org.quartz.scheduler.wrapJobExecutionInUserTransaction  被设定成了 true  。

·org.quartz.scheduler.wrapJobExecutionInUserTransaction

如果你要 Quartz 在调用你的 Job 的  execute  之前启动一个  UserTransaction  的话,设置这个属性为  true  。这个事物将在 Job 的 execute  方法完成和  JobDataMap  (假如是一个 StatefulJob  ) 更新后提交。默认值为  false  。

·org.quartz.scheduler.jobFactory.class

这是所用的  JobFactory  的类名称。默认为  org.quartz.simpl.SimpleJobFactory  。你也可以试试 org.quartz.simpl.PropertySettingJobFactory  。一个 Job 工厂负责产生 Job 类的实例。 SimpleFactory  类是调用 Job 类的 newInstance()  方法。 PropertySettingJobFactory  也会调用 newInstance()  ,但还会使用  JobDataMap  中的内容以反射方式设置 Job Bean 的属性。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值