Quartz配置ThreadPool设置
Property Name | Required | Type | Default Value |
---|---|---|---|
org.quartz.threadPool.class | yes | string (class name) | null |
org.quartz.threadPool.threadCount | yes | int | -1 |
org.quartz.threadPool.threadPriority | no | int | Thread.NORM_PRIORITY (5) |
org.quartz.threadPool.class
是要使用的ThreadPool实现的名称。Quartz附带的线程池是“org.quartz.simpl.SimpleThreadPool”,并且应该能够满足几乎每个用户的需求。它有非常简单的行为,并经过很好的测试。它提供了一个固定大小的线程池,可以“生活”计划程序的生命周期。
org.quartz.threadPool.threadCount
可以是任何正整数,虽然你应该意识到只有1到100之间的数字是非常实用的。这是可用于并发执行作业的线程数。如果你只有几个工作每天发射几次,那么1个线程是很多!如果你有成千上万的工作,每分钟都有很多工作,那么你可能希望一个线程数可能更多的是50或100(这很重要,取决于你的工作所执行的工作的性质,以及你的系统资源!)。
org.quartz.threadPool.threadPriority
可以是Thread.MIN_PRIORITY(即1)和Thread.MAX_PRIORITY(这是10)之间的任何int 。默认值为Thread.NORM_PRIORITY(5)。
SimpleThreadPool特定的属性
Property Name | Required | Type | Default Value |
---|---|---|---|
org.quartz.threadPool.makeThreadsDaemons | no | boolean | false |
org.quartz.threadPool.threadsInheritGroupOfInitializingThread | no | boolean | true |
org.quartz.threadPool.threadsInheritContextClassLoaderOfInitializingThread | no | boolean | false |
org.quartz.threadPool.threadNamePrefix | no | string | [Scheduler Name]_Worker |
org.quartz.threadPool.makeThreadsDaemons
可以设置为“true”,使池中的线程创建为守护进程线程。默认为“false”。另请参见org.quartz.scheduler.makeSchedulerThreadDaemon属性。
org.quartz.threadPool.threadsInheritGroupOfInitializingThread
可以是“true”或“false”,默认为true。
org.quartz.threadPool.threadsInheritContextClassLoaderOfInitializingThread
可以是“true”或“false”,默认为false。
org.quartz.threadPool.threadNamePrefix
在工作池中的线程名称的前缀将被附加一个数字。
自定义ThreadPools
如果你使用你自己的一个线程池的实现,你可以通过命名属性来简单地设置它上面的属性:
在自定义线程池上设置属性
org.quartz.threadPool.class = com.mycompany.goo.FooThreadPool
org.quartz.threadPool.somePropOfFooThreadPool = someValue