Java 如何在JBoss6中动态添加Quartz作业

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作为客户端

我正在使用JBoss6,希望动态创建Quartz作业。在作业处理过程中,将定义下一个开始时间(例如,在1、5或10小时内)

我没有找到任何解决方案,甚至很难访问
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();