2011-05-10 14 views
1

我试图在jboss-service.xml中定义两个调度程序。一个调度程序运行频繁,需要很短的时间来执行。另一个调度程序每天运行一次,但需要大量时间来执行。我jboss-service.xml摘录如下:在JBoss 4.0.5中运行并行计划.GA

<!-- 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> 

这种配置的结果是,频繁的调度执行以预期的频率,直到它的时间来执行长时间运行的调度。此时,在长期计划完成之前,不再执行频繁的计划。从org.jboss.varia.scheduler.Scheduler的Javadocs:

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

我试图遵循此建议,但它没有奏效。如果任何人有任何获得多个调度程序在JBoss 4.0.5.GA上并行运行的经验,任何帮助都将不胜感激。

+0

你很难得到这个答案。当JBoss 4.0发布时,大多数SO还在学校(不夸张,大约7岁)。 – skaffman 2011-05-11 16:17:26

+1

啊,用旧技术工作的乐趣...... – Sevas 2011-05-13 10:44:04

回答

0

解决,MBean中

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

添加此属性作为它在JBoss-Scheduler-Quartz,说明使用另一服务定时器,允许的MBean上不同服务计时器型动物。所以每个定时器都是独立的(并行)。