- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们在刚下载的 TomEE 应用服务器中出现了奇怪的行为。我们的情况:我们正在运行两个应用程序(我们称之为 v1 和 v2),它们通过使用 JasperReports 的 REST API 为我们提供一些 pdf 文件。当我们发布 v1 时,一切都运行良好。
当我们更新了一些内部代码并将其发布为 v2 时,困惑开始了......(代码中的更改几乎不是问题的根源,这些只是计算更改。)
我们的困惑之处在于,当我们首先访问 v1 中的代码时,v1 API 可以很好地提供我们的报告。当我们尝试从 v2 API 获取新报告时,我们遇到了类 not Found 异常。
Exception in thread "AsyncFileHandlerWriter-2081853534" java.lang.NoClassDefFoundError: Could not initialize class net.sf.jasperreports.extensions.ExtensionsEnvironment
at net.sf.jasperreports.engine.DefaultJasperReportsContext.getExtensions(DefaultJasperReportsContext.java:277)
at net.sf.jasperreports.engine.util.MessageUtil.getMessageProvider(MessageUtil.java:70)
at net.sf.jasperreports.engine.JRRuntimeException.resolveMessage(JRRuntimeException.java:166)
at net.sf.jasperreports.engine.JRRuntimeException.getMessage(JRRuntimeException.java:147)
at net.sf.jasperreports.engine.JRRuntimeException.getMessage(JRRuntimeException.java:138)
at java.base/java.lang.Throwable.getLocalizedMessage(Throwable.java:396)
at java.base/java.lang.Throwable.toString(Throwable.java:485)
at java.base/java.lang.String.valueOf(String.java:2801)
at java.base/java.lang.StringBuilder.append(StringBuilder.java:135)
at java.base/java.lang.Throwable.printEnclosedStackTrace(Throwable.java:699)
at java.base/java.lang.Throwable.printEnclosedStackTrace(Throwable.java:713)
at java.base/java.lang.Throwable.printStackTrace(Throwable.java:671)
at java.base/java.lang.Throwable.printStackTrace(Throwable.java:725)
at org.apache.juli.OneLineFormatter.format(OneLineFormatter.java:150)
at org.apache.juli.FileHandler.publish(FileHandler.java:294)
at org.apache.juli.AsyncFileHandler.publishInternal(AsyncFileHandler.java:146)
at org.apache.juli.AsyncFileHandler$LogEntry.flush(AsyncFileHandler.java:185)
at org.apache.juli.AsyncFileHandler$LoggerThread.run(AsyncFileHandler.java:161)
到目前为止,我们考虑过缺少依赖项或缺少库,但是:当我们首先访问 v2 API 时,我们在 v1 API 中得到相同的错误。
所以看起来首先被调用的 API 应用程序“绑定(bind)”了 JasperStuff 并且其他 API 无法访问它。我们实际上已经了解了我们的知识,希望我们能在这里得到一些帮助。
一点背景信息:我们使用一个核心包,它提供了一些核心功能,例如 DB-Access 和 JDNI 资源、CORS 过滤器和安全接口(interface)。我不认为核心包(在每次 war 中分别提供)会造成一些困惑,但由于事实上我们有 2 个同名的 JDNI 资源(但在不同的应用程序中,因此在不同的上下文中),我认为我需要将此信息留在这里。
预先感谢您的帮助。
最佳答案
因此,经过一番努力并尝试不同的方法来解决问题后,我们终于找到了一个可行的解决方案:我们将 JasperReports(以及必要的依赖)库包含到 tomcats common.loader
属性中。
结果是,我们没有一致的 JasperReports 库(尽管它们是相同的版本)。让我有点困惑的是,这应该是原因,但它给我们带来了预期的结果。这样做的提示是 AsyncFileHandlerWriter 和第一个使用的上下文可以与 JasperReports 库一起正常工作的“感觉”。感觉有点像上下文并发,但说实话,我们不确定这是否是正确的解决方案,还是只是解决底层问题的解决方法。
如果有人有进一步的提示,我们感谢每一个提示!提前致谢。
关于java - 在同一 TomEE 实例上的并行应用程序中使用 JasperReports 是否不可能(JasperReports 上下文)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59636106/
我想在 TomEE 中测试 hikaricp。我已将 jar 文件添加到我的 lib 文件夹中,并尝试像这样定义资源: .... 当我这样做时,我在启动时收到以下错误: org.apache.xb
平台:TomEE Web 配置文件 1.5.0。 我正在尝试做一件非常基本的事情,为 MySQL 设置数据源。我已经阅读了官方指南(http://openejb.apache.org/configur
我最近在“Red Hat Enterprise Linux Server (6.6)”上安装了“apache-tomee-webprofile-1.7.2”。 我可以通过访问 x.x.x.x:8080
如何在 IntelliJ IDEA VM 选项中进行设置。 我需要设置 set JAVA_OPTS="-Dtomee.serialization.class.whitelist=" set CATAL
正如标题所说。我对 Java EE6 认证的内部工作原理了解不多。但是,TomEE+ 似乎只是 TomEE 的超集,所以 TomEE+ 不应该也通过 Java EE6 认证吗? 我们刚刚决定为我们内部
我正在使用 Apache TomEE(本地主机上的 apache-tomee-plus-1.5.2)处理一些 JEE 网络应用程序,并尝试从 TomEE 主页上的链接访问这些服务。 现在,我记得早些时
尝试在 Windows 上启动 TomEE 时出现以下错误: SEVERE: OpenEJBContextConfig.processAnnotationsFile: failed. java.uti
我的服务器有 48 个 CPU,在 TomEE+ 7.0.2 上托管 Java EE 7 REST API。 一些 API 在运行并行算法时需要使用尽可能多的 CPU。 并行化部分不需要任何数据库或其
所以我试图找到任何引用文档或使用这三个的重要示例。 我发现的“最好的”是: TomEE/OpenEJB JAXRS refactoring Some tips for TomEE andJAXRS c
我正在 TomEE 8 中运行我的应用程序。我想从我的数据库中读取一些属性并将其传递给应用程序。 我看到了 https://rmannibucau.wordpress.com/2014/08/06/t
我正在使用单个 TomEE 实例来部署 2 个 Web 应用程序。两个应用程序使用不同的数据库和不同的实体。 应用程序 2 集成到应用程序 1 中,因此我在运行时随时需要这两个架构。 我在 tomee
假设我有一个包含 persistence.xml 配置和 jpa 实体的 jar。我希望在不同的应用程序之间共享相同的持久性单元。 例如,部署一个 war 应用程序并注入(inject)相同的持久性单
规范:jdk1.8,TOMEE702,win10 问题:为 open-ejb3.X 安装和使用 TOMEE 的方法/内容/哪个? 网址:http://tomee.apache.org/download
我下载并安装了 TomEE 1.7.1。在启动服务器时抛出 IllegalArgumentException。 可能是什么问题,因为我还没有部署任何应用程序。 INFO: Using 'openejb
我有一个关于 TomEE 和使用 tomee.xml 中指定的数据源的奇怪问题。值得注意的是,我使用的是 Netbeans、TomEE 和 MySQL。在 Ubuntu 13.04(Xubuntu 最
无法部署应用程序,但出现异常 java.lang.Exception:持久性单元:持久性 -750441533localhost:未找到名称“openejb/PersistenceUnit/persi
我已经编写了代码,以便可以在不重新启动服务器的情况下更改 EntityManagerFactory 属性。我使用 RESTful Jersey 服务对其进行了测试。 我应该编写junit测试来测试这个
我想将 war 文件部署到 TomEE 但失败了: 原因: javax.naming.NameNotFoundException: Name openejb/Resource/applic
我在 Eclipse 中工作。我已经添加了一个启动良好的 TomEE 服务器,但似乎在创建 MySQL 数据源时出现问题。 我在 TomEE 1.7.2 中定义了以下数据源: jdbcDri
我们正在尝试从 GlassFish 迁移到 TomEE,但是在 TomEE 上部署自定义资源适配器时遇到了问题。在 GlassFish 上,只需部署 RAR 文件、配置资源适配器配置,仅此而已。我们如
我是一名优秀的程序员,十分优秀!