覚えたら書く

IT関係のデベロッパとして日々覚えたことを書き残したいです。twitter: @yyoshikaw

Quartz - スレッド数の制御

Quartzで定期処理を行う場合、デフォルトでは10スレッドがpoolされて、そのスレッドを使って処理されます。

場合によっては、10スレッドもプールされている必要ないよ。という場合もあると思います。

その場合は以下の設定でスレッド数を変更することができます。


(1) クラスパス内に、quartz.propertiesというファイルを配置します


(2) quartz.propertiesに「org.quartz.threadPool.threadCount」という項目を記述し、プールするスレッド数を指定します

# スレッド数3の場合
org.quartz.threadPool.threadCount=3


これでスレッド数が変更されます。


Quartzのログが出力される状態で、実行すると以下のような内容が出力され、スレッド数が3になっていること("with 3 threads.")が分かります。

2016/12/19 19:15:52.515 INFO  [main] o.q.i.StdSchedulerFactory Using default implementation for ThreadExecutor
2016/12/19 19:15:52.554 INFO  [main] o.q.c.SchedulerSignalerImpl Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl
2016/12/19 19:15:52.554 INFO  [main] o.q.c.QuartzScheduler Quartz Scheduler v.2.2.3 created.
2016/12/19 19:15:52.555 INFO  [main] o.q.s.RAMJobStore RAMJobStore initialized.
2016/12/19 19:15:52.556 INFO  [main] o.q.c.QuartzScheduler Scheduler meta-data: Quartz Scheduler (v2.2.3) 'QuartzScheduler' with instanceId 'NON_CLUSTERED'
  Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
  NOT STARTED.
  Currently in standby mode.
  Number of jobs executed: 0
  Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 3 threads.
  Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.



関連エントリ