【发布时间】:2012-01-24 12:27:14
【问题描述】:
我有以下情况:
8 个任务计划运行,org.quartz.threadPool.threadCount 设置为 5。
但实际上我可以看到所有 8 个任务都在运行。
这怎么可能?
如果我设置org.quartz.threadPool.threadCount=5 并为quartz 提交了10 个任务,真的只有5 个任务会并行运行吗?
org.quartz.threadPool.threadCount属性是什么意思?
我有这样的设计:
- 我们有一些任务对 db 中的实体进行一些处理
- 我们有专门的 JobRunner 来执行一项任务
- 我们扫描要运行的任务并安排要在使用 SchedulerFactoryBean 配置的石英服务中运行的任务,
org.quartz.threadPool.threadCount设置为 5。 - 据我了解,如果带有 SchedulerFactoryBean 的石英服务将运行 5 个任务,并且我们将尝试安排其他任务,石英本身应该会抛出异常。这是真的吗?
谢谢。
【问题讨论】:
-
当您说所有 8 个作业都在运行时,您的意思是
scheduler. getCurrentlyExecutingJobs()返回一个包含 8 个作业的列表吗?或者他们都将输出发送到 System.out?还是什么? -
我编辑了故事的描述。那么如果我为 Scheduler 安排 8 个任务并设置 threadCount=2,是否意味着 2 个线程将运行 8 个任务,潜水时间和上下文变化?
标签: java quartz-scheduler