Запуск параллельных расписаний в JBoss 4.0.5.GA
Я пытаюсь определить два планировщика в 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, любая помощь будет принята с благодарностью.
1 ответ
Решено, добавив этот атрибут в Mbean
<attribute name="TimerName">jboss:service=TimerNew</attribute>
Как объясняется в JBoss-Scheduler-Quartz, используя другой сервисный таймер, разрешите различия mbean в другом сервисном таймере. Таким образом, каждый таймер является независимым (параллельным).