首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在一个Spring上下文中使用两个调度程序

在一个Spring上下文中使用两个调度程序
EN

Stack Overflow用户
提问于 2012-12-21 07:08:31
回答 1查看 4.2K关注 0票数 6

我使用两个石英调度程序创建了一个Spring应用程序,其中第一个具有3个触发器,第二个具有一个触发器。

所有这些触发器都被设置为并发操作false。

当我运行这个程序时,似乎只有第二个调度程序中的作业触发器才会被触发。执行triggerJobB所需的时间也非常少。

我的问题是,在一个spring上下文中使用两个调度程序是否会导致执行问题,以及这是否是一个很好的实践。

代码语言:javascript
运行
复制
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
        <property name="triggers">
            <list>
                  <ref bean="triggerJobA" />
                  <ref bean="triggerJobC" />
                  <ref bean="triggerJobD" />
            </list>
        </property>
</bean>

<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
        <property name="triggers">
            <list>
                <ref bean="triggerJobB" />
            </list>
        </property>
</bean>
EN

回答 1

Stack Overflow用户

发布于 2012-12-21 11:10:02

您需要为每个调度程序设置名称,否则spring只会用第二个计划程序覆盖第一个调度程序。

代码语言:javascript
运行
复制
 <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
    <property name="schedulerName" value="SchedulerOne"/> 
    <property name="triggers">
        <list>
              <ref bean="triggerJobA" />
              <ref bean="triggerJobC" />
              <ref bean="triggerJobD" />
        </list>
    </property>
 </bean>


 <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
     <property name="schedulerName" value="SchedulerTwo"/>
     <property name="triggers">
        <list>
            <ref bean="triggerJobB" />
        </list>
    </property>
 </bean>

其原因是:

“作业执行者”实际上不是SchedulerFactoryBean。它是Scheduler (准确地说,调用它的start方法调用触发触发器的聚合QuartzScheduler.start方法),它由SchedulerFactoryBean提供。事实上,这个Scheduler存储(和查找)在schedulerName(如果没有显式设置的话,对于每个配置的SchedulerFactoryBean)在SchedulerRepository单例(SchedulerRepository.getInstance())中具有相同的默认值。 这样,除非为SchedulerFactoryBean设置不同的schedulerName,否则每个SchedulerFactoryBean都会得到相同的调度程序。

http://forum.springsource.org/showthread.php?40945-Multiple-Quartz-SchedulerFactoryBean-instances

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13985797

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档