Как настроить JBoss / Quartz для запуска весеннего задания? - PullRequest
0 голосов
/ 22 июля 2011

Я новичок в JBoss, уже много лет использую tomcat.У меня есть приложение Spring 3.0.x, в котором мне нужно регулярно выполнять задание.Раньше я просто создавал свой класс заданий как обычный POJO, а затем создавал свое задание / триггер как CronTriggerBean в Spring, передавая MethodInvokingJobDetailFactoryBean в качестве jobDetail.

Пример:

  <bean id="session.manage.UserSessionPurgeAction.trigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
            <property name="cronExpression" value="0 */5 * * * ? *" />
            <property name="jobDetail">
                    <bean class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
                      <property name="name"><idref bean="session.manage.UserSessionPurgeAction" /></property>
                      <property name="group" value="cleanup" />
                            <property name="targetObject" ref="session.manage.UserSessionPurgeAction" />
                            <property name="targetMethod" value="execute" />
                            <property name="concurrent" value="false" />
                    </bean>
            </property>
    </bean>

В этом новом проекте системный архитектор призвал запустить приложение Spring под JBoss 6. Я знаю, что в JBoss встроен кварцевый планировщик, поэтому я не уверен, как упаковать / объявить мою работу так, чтобы она использовала планировщик JBossв отличие от встраивания его в приложение, как я это делал в прошлом.

Я искал в Интернете, но, похоже, не могу найти необходимую информацию о клее, которая мне нужна.Я знаю, что в javax.ejb есть аннотация @Schedule, но это все, что мне нужно добавить в мой метод?Я бы подумал / ожидал, что мне нужна дополнительная конфигурация где-то, но не уверен, где.

Может кто-нибудь указать мне правильное направление, пожалуйста?

Спасибо,

Эрик

1 Ответ

0 голосов
/ 22 июля 2011

Если вы действительно хотите использовать jboss, я бы попытался сопоставить свойство schedulerName, переданное SchedulerFactoryBean, с одним из планировщика в комплекте. Связанный планировщик может быть получен через JNDI, я думаю, он называется jndi "Quartz".

Взгляните на org.springframework.scheduling.quartz.SchedulerFactoryBean # createScheduler, сначала он пытается найти планировщик в статическом SchedulerRepository.

...