1

例如,我有两个任务:

  <mbean code="org.jboss.varia.scheduler.Scheduler" name=":service=Scheduler">
    <attribute name="StartAtStartup">true</attribute>
    <attribute name="SchedulableClass">Scheduler1</attribute>
    <attribute name="InitialStartDate">NOW</attribute>
    <attribute name="SchedulePeriod">60</attribute>
    <attribute name="InitialRepetitions">-1</attribute>
    <attribute name="FixedRate">false</attribute>
  </mbean>

  <mbean code="org.jboss.varia.scheduler.Scheduler" name=":service=Scheduler2">
    <attribute name="StartAtStartup">true</attribute>
    <attribute name="SchedulableClass">Scheduler2</attribute>
    <attribute name="InitialStartDate">NOW</attribute>
    <attribute name="SchedulePeriod">3600</attribute>
    <attribute name="InitialRepetitions">-1</attribute>
    <attribute name="FixedRate">false</attribute>
  </mbean>

即第一个每分钟安排一次,第二个每小时安排一次。

问题是,如果执行第二个任务需要 5 分钟,那么在此期间第一个任务不会执行,它会等到第二个任务完成。

有没有办法让它们并行工作?或者我应该搬到 Quartz 或其他什么地方?

4

1 回答 1

1

利用

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

它将以并行方式启动计划。

于 2012-04-11T20:26:03.403 回答