如何在Jboss AS 7.0中启用Quartz调度?

2024-03-21

Quartz 似乎没有包含在 Jboss AS 7.0 Final(完整版)的默认安装中。当尝试加载消息驱动 Bean (MDB)“FareMonitorBean”时,我的 EAR 部署似乎失败。该MDB 是quartz 调度执行的内容。

错误信息:

10:00:34,034 WARN  [org.jboss.modules] (MSC service thread 1-7) Failed to define class com.myproject.beans.FareMonitorBean in Module "deployment.myprojectEAP.ear.myprojectEJB.jar:main" from Service Module Loader: java.lang.LinkageError: Failed to link com/myproject/beans/FareMonitorBean (Module "deployment.myprojectEAP.ear.myprojectEJB.jar:main" from Service Module Loader)
at org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:401)
.....
Caused by: java.lang.NoClassDefFoundError: org/quartz/Job
at java.lang.ClassLoader.defineClass1(Native Method) [:1.6.0_26]
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631) [:1.6.0_26]
at java.lang.ClassLoader.defineClass(ClassLoader.java:615) [:1.6.0_26]
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) [:1.6.0_26]
at org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:397)
... 18 more

MDB“FareMonitorBean”类文件摘要:

@MessageDriven(activationConfig = { @ActivationConfigProperty(propertyName = "cronTrigger", propertyValue = EJBConstants.FARE_MONITOR_QUARTZ_SCHEDULE_STRING) })
@ResourceAdapter("quartz-jboss-2.0.2.jar")
public class FareMonitorBean implements Job {

    public void execute(JobExecutionContext arg0) throws JobExecutionException {
        ....
    }
}

基于JBoss 文档 https://docs.jboss.org/author/display/AS7/Admin+Guide#AdminGuide-Generalconfigurationconcepts,我的猜测是需要在standalone/configuration/standalone.xml 中为Quartz 配置“扩展”和“子系统”,但是我不确定如何执行此操作。我搜索了 google、jboss 论坛、quartz support doco,但找不到任何内容。对我来说,Quartz 不能与 Jboss 的“最终”版本一起工作似乎有点糟糕,因为调度程序肯定是成熟的应用程序服务器的常见且必需的功能?!

我可以遵循任何建议或示例来使其正常工作吗?


2011 年 8 月 28 日更新:

有人可以帮我解决这个问题吗?我在使用 JBoss 6.0 时遇到了稳定性问题和大量错误,如果 Jboss 仍然是一项具有挑战性的工作,我会考虑切换到 GlassFish 3.1。是我一个人的问题,还是 Jboss 充满了错误和问题?!


The NoClassDefFoundError可能与缺少依赖项有关。 你的 jboss 中是否提供了quartz jar 文件?也许这个文档有帮助:https://docs.jboss.org/author/display/AS7/How+do+I+migrate+my+application+from+AS5+or+AS6+to+AS7#HowdoImigratemyapplicationfromAS5orAS6toAS7-HowtoResolveClassNotFoundExceptionsandNoCLassDefFoundErrors https://docs.jboss.org/author/display/AS7/How+do+I+migrate+my+application+from+AS5+or+AS6+to+AS7#HowdoImigratemyapplicationfromAS5orAS6toAS7-HowtoResolveClassNotFoundExceptionsandNoCLassDefFoundErrors

这是我在 JBoss 7 中使用quartz 的解决方法:

不幸的是 AS7 Final 不支持@Schedule注释(请参阅 JBoss 问题 AS7-1158)

因此,我通过 Maven 依赖项将石英罐与 EAR 文件一起打包。

然后,我使用此启动 bean 添加作业并启动调度程序,如quartz 示例中所述:http://quartz-scheduler.org/docs/examples/index.html http://quartz-scheduler.org/docs/examples/index.html

@Singleton
@Startup
public class StartupBean
{

    @PostConstruct
    private void scheduleJobs()
    {
         // Exception Handling omitted
         final Scheduler sched = new StdSchedulerFactory().getScheduler();
         sched.scheduleJob( createJob(), createTrigger());
         sched.start();
    }

}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在Jboss AS 7.0中启用Quartz调度? 的相关文章

随机推荐

  • 使用自定义区域性时 ResourceManager 未选择正确的资源集

    我使用以下代码创建了一个本地化的 MVC 网站 亚历克斯 阿达米安 Alex Adamyan 的博客 http adamyan blogspot com 2010 07 addition to aspnet mvc localization
  • 如何在类Unix操作系统下方便的运行SBCL代码?

    David James 写了问题和答案 我将对其进行编辑以符合 Stackoverflow 标准 使用 SBCL 您可以将 Lisp 代码编译为机器代码 像 Java net C 甚至 C 一样 您将需要运行时 所以有两种方法来编译 Com
  • CATALINA_OPTS 在 Tomcat 中如何工作?

    我很好奇 CATALINA OPTS 在 Apache Tomcat 的后台如何工作 是的 我知道它在 Tomcat 启动和运行时执行 我添加了一些参数供我的程序使用 甚至我使用它很长时间 将其添加到我的 VM 参数中 但不确定它是如何运行
  • 有条件的承诺

    在我的脚本中 我需要检索一个字典以将编码值转换为名称 ajax retrieve dictionary done function dictionary convert encoded values into names done func
  • 计算时间戳之间的营业时间[重复]

    这个问题在这里已经有答案了 我使用的是Postgres 8 3 目前没有选择版本 我的原始数据表如下 ID start time finish time 01 2013 01 23 10 47 52 05 2013 02 25 11 18
  • 如何在 Scala 中创建没有文字元素名称的 XML 根节点?

    我正在寻找创建一个这样的文档
  • Spark ml 和 PMML 导出

    我知道可以将模型导出为PMML with Spark MLlib 但是关于Spark ML 是否可以转换LinearRegressionModel from org apache spark ml regression to a Linea
  • PoseWarping:如何矢量化此 for 循环(z 缓冲区)

    我正在尝试使用地面真实深度图 姿势信息和相机矩阵将帧从视图 1 扭曲到视图 2 我已经能够删除大部分 for 循环并将其矢量化 除了一个 for 循环 扭曲时 由于遮挡 视图 1 中的多个像素可能会映射到视图 2 中的单个位置 在这种情况下
  • 将列的元素分配到基于另一列的矩阵中

    我需要帮助编写执行以下操作的脚本 data 1 1 2 2 1 3 3 3 4 3 3 5 4 3 6 该脚本需要检查第二列中的数字是否重复 下面的草图解释了我想要完成的任务 对于第二列中的每个重复值 我希望第三列中共享第二列中每个重复值的
  • 尝试使用 POSIX 消息队列创建消息队列时权限被拒绝

    我正在使用以下代码片段创建一个消息队列Linux 编程接口 http man7 org tlpi if mq open my message queue O CREAT O RDWR NULL 1 perror mq creation fa
  • 自定义软键盘按键预览

    I am 使用软键盘工作 我已经完成了所有功能 但现在我只需要更改关键预览的视图当关键是 按下 目前显示了我的按键预览 默认示例键盘按键 预览 如下图所示 正如我们所看到的 当按下按键时会弹出字符 d 但现在我需要定制它 作为目前主要预览背
  • 从 pyarrow.Table 转换为 pandas 时处理大时间戳

    我有一个时间戳9999 12 31 23 59 59以 int96 形式存储在 parquet 文件中 我使用 pyarrow dataset 读取此镶木地板文件 并将结果表转换为 pandas 数据框 使用 pyarrow Table t
  • @material-ui/core 和 @types/material-ui 是什么关系?

    这里我看到一个使用material ui 的示例项目 我看到 package json 文件中有以下包 dependencies material ui core 1 4 1 devDependencies types material u
  • 基本页或基本母版页或嵌套母版页?

    我有一个包含两个母版页的网站 一个用于一列布局 一个用于两列布局 它们嵌套在提供通用页眉和页脚的母版页中 我希望每个内容页面都具有功能 我是不是该 创建一个页面基类并在我的内容页面中继承它 或者 创建一个母版页基类并在我的嵌套母版页级别之一
  • 编写依赖于其他键的更复杂的 json 模式

    我一直在编写简单的 JSON 模式 但遇到了一个稍微复杂一点的 API 输入调用 我有一条宁静的最终路线 可以采用 3 种截然不同类型的 JSON 本地主机 foo 可以采取 类型 冰淇淋 锥体 华夫饼 or 类型 热狗 小圆面包 小麦 如
  • Onclick 图像按钮 - 逻辑没有意义[重复]

    这个问题在这里已经有答案了 我对 Javascript html 中这个非常简单的 onClick 函数感到非常困惑 我知道对此有很多问题 但鉴于我的脚本的作用 或者在本例中没有 无法完全找到答案 它应该很简单 但由于某种原因 逻辑也没有像
  • 使用 @PersistenceContext 为空 EntityManager

    我正在尝试使用 Spring Boot 的简单编码 在实体管理器中使用 PersistenceContext 在 MySQL 中创建一个对象 但我发现我的实体管理器对象为空 不知道为什么 因为使用的方法实体管理器有 transaction注
  • 在 ASP.NET 应用程序中是否强制注入 DbContext .InPerRequestScope?

    我一直在我的 ASP NET MVC3 门户中使用 Ninject IoC 容器 每当我注入实体框架时DbContext in PerThread范围 我的数据不一致 在对实体进行更改后一段时间内不会显示更改等 在我切换 IoC 配置以解析
  • 在 PHPStorm 中复制并粘贴字符串(波斯语、阿拉伯语)是错误的

    在 PHPStorm 中复制并粘贴字符串 波斯语 阿拉伯语 是错误的 我的字符串是 巴巴尼 巴尼巴巴 描述如图 如何解决这个问题呢 在安装目录下的文件中bin idea properties add one以下的 editor new re
  • 如何在Jboss AS 7.0中启用Quartz调度?

    Quartz 似乎没有包含在 Jboss AS 7 0 Final 完整版 的默认安装中 当尝试加载消息驱动 Bean MDB FareMonitorBean 时 我的 EAR 部署似乎失败 该MDB 是quartz 调度执行的内容 错误信