Java 如何在JBoss6中动态添加Quartz作业
我正在使用JBoss6,希望动态创建Quartz作业。在作业处理过程中,将定义下一个开始时间(例如,在1、5或10小时内) 我没有找到任何解决方案,甚至很难访问Java 如何在JBoss6中动态添加Quartz作业,java,jboss,quartz-scheduler,jboss6.x,Java,Jboss,Quartz Scheduler,Jboss6.x,我正在使用JBoss6,希望动态创建Quartz作业。在作业处理过程中,将定义下一个开始时间(例如,在1、5或10小时内) 我没有找到任何解决方案,甚至很难访问org.quartz.Scheduler(请参阅) 下一个问题是创造新的就业机会,我遵循了教程: 但是JBoss6似乎没有org.quartz.JobBuilder。如果手动添加quartz依赖项,则启动时会出现错误(类加载问题)。这些工件是定义的(没有明确使用Quartz): org.jboss.jbossas jboss作为客户端
org.quartz.Scheduler
(请参阅)
下一个问题是创造新的就业机会,我遵循了教程:
但是JBoss6似乎没有org.quartz.JobBuilder
。如果手动添加quartz依赖项,则启动时会出现错误(类加载问题)。这些工件是定义的(没有明确使用Quartz):
org.jboss.jbossas
jboss作为客户端
6.0.0.1决赛
聚甲醛
测试
org.jboss.security
jbosssx客户端
org.jboss.security
jbosssx
org.jboss.spec
jboss-javaee-6.0
1.0.0.1决赛
聚甲醛
假如
在JBoss 6中,您可以使用Quartz库中提供的factory类在Quartz调度程序中获得。这应该是您所需要的全部:
import org.quartz.Scheduler;
import org.quartz.impl.StdSchedulerFactory;
Scheduler scheduler = new StdSchedulerFactory().getScheduler();
我们在启动时在上下文侦听器中使用它来动态调度作业。嗯 您似乎正在学习Quartz 2.0.x教程。你试过了吗
JBoss 6提供的版本是Quartz 1.8.3,有重要意义。另外注意,JBoss 6会在启动服务器实例时初始化Quartz调度器;但是,它会使调度程序处于待机模式。因此,在启动任何计划触发器之前,必须显式启动计划程序。感谢您的反馈。Quartz是在我的环境中自动启动的(我假设已经定义了
@ResourceAdapter(“Quartz ra.rar”)
)。我的问题是我不知道如何创建新的工作,因为org.quartz.JobBuilder
不可用。
<dependency>
<groupId>org.jboss.jbossas</groupId>
<artifactId>jboss-as-client</artifactId>
<version>6.0.0.Final</version>
<type>pom</type>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.jboss.security</groupId>
<artifactId>jbosssx-client</artifactId>
</exclusion>
<exclusion>
<groupId>org.jboss.security</groupId>
<artifactId>jbosssx</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.jboss.spec</groupId>
<artifactId>jboss-javaee-6.0</artifactId>
<version>1.0.0.Final</version>
<type>pom</type>
<scope>provided</scope>
</dependency>
import org.quartz.Scheduler;
import org.quartz.impl.StdSchedulerFactory;
Scheduler scheduler = new StdSchedulerFactory().getScheduler();