[英]How to configure JBoss/Quartz to run Spring job?
我是 JBoss 的新手,多年来一直在使用 tomcat。 我有一个 Spring 3.0.x 应用程序,我需要在其中定期运行作业。 过去,我会简单地将我的作业 class 创建为常规 POJO,然后将我的作业/触发器创建为 Spring 的 CronTriggerBean,并将 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>
On this new project, the system architect has called for running the Spring application under JBoss 6. I know that JBoss has a quartz scheduler built in, so I am not sure how to package/declare my job such that it is using JBoss' scheduler而不是像我过去所做的那样将其构建到应用程序中。
我在网上搜索过,但似乎找不到我需要的必要胶水信息。 我知道 javax.ejb 中有一个 @Schedule 注释,但这就是我需要添加到我的方法中的全部内容吗? 我会认为/期望我在某个地方需要额外的配置,但不确定在哪里。
谁能指出我正确的方向?
谢谢,
埃里克
如果您真的想使用 jboss 之一,我会尝试将传递给 SchedulerFactoryBean 的 schedulerName 属性与捆绑的调度程序之一匹配。 捆绑的调度程序可以通过 JNDI 检索,我认为它在 jndi 名称“Quartz”下。
看看 org.springframework.scheduling.quartz.SchedulerFactoryBean#createScheduler,它首先尝试在 static SchedulerRepository 中查找调度程序。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.