5

我在 Spring 应用程序中有一些计划任务,它们的配置如下:

<bean id="scheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
    <property name="triggers">
        <list>
            <!-- Here the list of tasks -->             
        </list>
    </property>     
</bean>

我遇到了一些问题(有些任务在应该运行的时候没有运行,但并不总是在很长一段时间后或在某些时候运行),我认为这可能是因为有很多任务(到目前为止 11 个)并且系统可以' t 同时运行它们。我曾想过org.quartz.threadPool.threadCount像这样设置来增加并行线程的数量:

<bean id="scheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
    <property name="triggers">
        <list>
            <!-- Here the list of tasks -->             
        </list>
    </property>
    <property name="quartzProperties">
        <props>
            <prop key="org.quartz.threadPool.threadCount">15</prop>
        </props>
    </property>     
</bean>

org.quartz.threadPool.threadCount但我想知道,当我不设置属性时,系统使用了多少线程?默认行为是什么?

4

1 回答 1

7

当用我打开的源代码搜索“SchedulerFactoryBean.java”第一个链接(SchedulerFactoryBean.java )时:

public static final int DEFAULT_THREAD_COUNT = 10;

该值稍后用于在initSchedulerFactory方法中设置org.quartz.threadPool.threadCount :

mergedProps.setProperty(PROP_THREAD_COUNT, Integer.toString(DEFAULT_THREAD_COUNT));
于 2013-02-20T13:03:38.170 回答