【问题标题】:Problem using Quartz library in Liferay/Glassfish with Vaadin使用 Vaadin 在 Liferay/Glassfish 中使用 Quartz 库时出现问题
【发布时间】:2010-11-29 12:49:41
【问题描述】:

在 Glassfish 服务器的 liferay 门户中运行 Quartz 库时遇到了一个奇怪的问题。该应用程序分为两部分,一个基于 Vaadin 的 Web 应用程序将启动/停止石英作业,另一个包含作业逻辑。

由于作业逻辑部分依赖于作业接口,我必须将 Quartz 部署为 osgi 库。通过这样做,一切正常,我的 Web 应用程序可以看到已安装的作业模块,但在开始作业时它会出现以下错误。

previously initiated loading for a different type with name "org/quartz/Trigger"

我猜这是因为我也在我的 web-inf/lib 中提供了 Quartz 库。但是如果我删除它,它会为 Quartz 依赖项引发另一个错误。

我现在唯一可能的解决方案是从具有作业业务逻辑的第二个组件中删除 Quartz 依赖项(而是实现 org.quartz.Job;创建另一个接口)。

有没有其他办法解决这个问题???

【问题讨论】:

    标签: osgi liferay quartz-graphics


    【解决方案1】:

    尝试在 WAR 文件中修复您的石英依赖项 - 使用 import-package 并从 WEB-INF/lib 中删除第二个石英。

    还要确保石英依赖项实际上是一个捆绑包,或者您正在动态包装它。

    听起来你有类加载问题由于触发器的多个副本。错误消息是石英,告诉您它是从与以前不同的类加载器加载的触发器。您绝对不希望您的应用中有两个相同版本的 jar。

    【讨论】:

      猜你喜欢
      • 2011-06-21
      • 2015-06-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多