У меня есть 2 разных задания, которые должны запускаться одновременно.
Я бы хотел дать отдельный поток для каждого из них.Конечно, я могу настроить Quartz на использование только одного потока, установив свойство
org.quartz.threadPool.threadCount = 1
Но это означает, что оба задания будут использовать один и тот же поток.Если я установлю threadCount = 2, вполне возможно, что первое задание будет запущено дважды, а другое будет ждать.
Итак, как я могу независимо запускать эти задания в отдельных потоках?
Моя конфигурация Spring такая:
<bean name="Job1" class="org.springframework.scheduling.quartz.JobDetailBean">
<property name="jobClass" value="test.job1"/>
</bean>
<bean id="CronTrigger1" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail" ref="Job1"/>
<property name="cronExpression" value="0 * 6-21 * * ?" />
</bean>
<bean name="Job2" class="org.springframework.scheduling.quartz.JobDetailBean">
<property name="jobClass" value="test.job2"/>
</bean>
<bean id="CronTrigger2" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail" ref="Job2"/>
<property name="cronExpression" value="0 * 6-21 * * ?" />
</bean>
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean" destroy-method="destroy">
<property name="waitForJobsToCompleteOnShutdown">
<value>true</value>
</property>
<property name="configLocation">
<value>classpath:quartz.properties</value>
</property>
<property name="triggers">
<list>
<ref bean="CronTrigger1"/>
<ref bean="CronTrigger2"/>
</list>
</property>
</bean>