1

我正在尝试在jboss-service.xml. 一个调度程序经常运行并且需要很短的时间来执行。另一个调度程序每天运行一次,但需要大量时间来执行。我的以下摘录jboss-service.xml

<!-- Frequent, fast -->
<mbean code="org.jboss.varia.scheduler.Scheduler" 
       name=":service=FrequentSchedule,schedule=frequent">
    <attribute name="InitialStartDate">NOW</attribute>
    <attribute name="SchedulePeriod">5000</attribute>
    <!-- Other attributes... -->
</mbean>

<!-- Infrequent, slow -->
<mbean code="org.jboss.varia.scheduler.Scheduler"
       name=":service=InfrequentSchedule,schedule=infrequent">
    <attribute name="InitialStartDate">0</attribute>
    <attribute name="SchedulePeriod">86400000</attribute>
    <!-- Other attributes... -->
</mbean>

此配置的结果是频繁调度程序以预期频率执行,直到该执行长时间运行的调度程序为止。此时,在长时间运行的调度完成之前,不再执行频繁调度。来自 Javadocs org.jboss.varia.scheduler.Scheduler

注意:调度程序实例一次只允许运行一个调度。因此,当您要运行两个计划时,请使用此 MBean 创建实例。MBean 的建议对象名称为::service=Scheduler,schedule=

我试图遵循这个建议,但没有奏效。如果有人有让多个调度程序在 JBoss 4.0.5.GA 上并行运行的经验,我们将不胜感激。

4

1 回答 1

1

解决了,在mbean中添加这个属性

<attribute name="TimerName">jboss:service=TimerNew</attribute>

正如它在JBoss-Scheduler-Quartz中解释的那样,使用另一个服务计时器,在不同的服务计时器上允许不同的 mbean。所以每个定时器都是独立的(并行的)。

于 2011-12-06T10:23:20.123 回答