问题标签 [tomee-8]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
437 浏览

java - 如何解决 TomEE 8.x、Hibernate 5.4 和 Java 8 的 ASM 问题?

根据此页面,TomEE 8.0 与 Java 8 兼容:http ://tomee.apache.org/master/docs/java-compatibility.html

但是,我在使用 TomEE 和使用 java 8 的 Hibernate 设置项目时遇到了一些问题。

我从 Maven 原型 org.apache.openejb.maven:tomee-webapp-archetype 1.7.1 版创建了一个项目。我的项目 SDK 是一个简单的 JDK 1.8.0_221。

一切都很顺利。运行mvn packagemvn tomee:run启动一个运行良好的示例应用程序。

现在我转到我的 pom.xml 文件并添加 Hibernate 依赖项:

无需对项目进行更多修改。mvn package仍然可以正常工作。但是在启动应用程序时,我得到以下信息:

根据我的研究,它看起来像一个带有 Java 8 的 ASM4 的错误:java.lang.IllegalArgumentException at org.apache.xbean.asm4.ClassReader.<init>。但是我使用的最新TomEE版本依赖于应该支持Java 8的ASM5。为什么只有在添加Hibernate依赖时才会出现问题?而且 Hibernate 5.4 似乎与 Java 8 兼容。

0 投票
1 回答
700 浏览

tomcat - TomEE PolicyConfigurationFactory & TransactionManagerImpl 错误

我在尝试启动服务器 TomEE PluME 8.0.1 时遇到问题。以下是我的日志。

我正在为客户做 POC,以了解我们是否可以将他们的一个应用程序从 weblogic 传递给 TomEE。我在应用程序中部署了这个应用程序(EAR),并且出现了 2 个错误。

你能告诉我你是否知道我该如何解决这个问题?我没有设法在 WEB 上找到有用的东西。

我试图在 system.properties 中配置一个 TransactionManager,但它没有任何改变。

我提前感谢您的帮助。

这是我的日志:

0 投票
1 回答
50 浏览

java - Apache Netbeans 11.3 无法在 Apache Tomee 下运行 web maven 项目(plume、microprofile 等)

最近我有一个大问题,Netbeans 无法在 TomEE 下运行任何 web/maven 项目。只需创建简单的 Maven Web 项目并运行。TomEE 服务器启动但无法部署 WAR。然后你从控制台运行 TomEE 并构建 WAR 并复制到 TomEE/webapps,它就可以工作了。JDK版本无关紧要,我有JDK 1.8和11。从第一次运行TomEE转到后台并作为单独的线程运行。重新部署和重建没有帮助,您必须重新启动 netbeans,杀死所有 java 进程。安装了所有最新版本的 netbeans。我的操作系统 Ubuntu Linux,我的同事也有同样的问题,这个问题是从上周开始的。

0 投票
0 回答
219 浏览

jax-rs - 在 tomee 上自动部署战争

我正在尝试使用TomEE 8.0.4 docker image创建一个工作开发环境。我正在将我的项目打包成与所有依赖项(TomEE 未提供的依赖项)的战争。然后我将该战争复制到 docker 容器中的 webapps 目录中

这给了我这些日志:

然后我的模型的每个类都有一个例外,与此相同:

然后,如果我尝试使用浏览器访问该应用程序,我有这个:

这只是一个示例,因为有时我会遇到此异常,但是当它尝试加载 PostgreSQL 相关类时。

如果我重新启动容器(出于时间考虑,我试图避免这种情况),则不会出现错误,并且应用程序按预期工作。

该应用程序context.xml如下:

该项目是一个简单的 JAX-RS 服务,既没有 EJB,也没有像 Spring 这样的框架。

如果我感到绝望,我很抱歉,但TomEE 文档没有帮助,我不知道如何继续。

编辑:在容器启动后,我已经将完整的catalina.log放在了 pastebin 中,并在此处重新部署了应用程序。和同一个文件,在完成一些请求之后,直到一个错误页面被传递到这里

0 投票
1 回答
96 浏览

java - TomEE 中的 Spring Durable JMS 订阅者(不允许在使用的连接上设置 clientID)

我正在将在 TomEE 7 上运行的应用程序更新到 TomEE 8 的过程中,因此我们开始收到有关 Spring 消息侦听器容器的错误。TomEE 8 运行 Apache Active MQ 5.16,而 TomEE 7 运行 Apache Active MQ 5.15.13。

在 Spring 中,我们通过在 tomee.xml 中定义的 JNDI 查找来获取连接工厂,如下所示

在 Spring 中,我们得到如下的连接工厂

DefaultMessageListenerContainers 配置如下

这一切都在 TomEE 7 上按预期工作,但是,现在我们已经迁移到 TomEE 8,我们的 DefaultMessageListenerContainers 正在抛出以下异常

显然,我们正在做一些不正确的更新,使用 JTA 托管事务配置具有持久主题的 DMLC 的正确方法是什么?

0 投票
0 回答
27 浏览

websocket - TomEE 8.0.4 上的 Websocket 启动错误

我在带有 TomEE 8.0.4 羽流的 JavaEE 项目上有一个 WebSocket 类注释。在项目启动时引发异常并且项目未部署。当我删除@ServerEndpoint("/socket")注释时,项目部署没有任何问题。是否有额外的配置来避免这个问题?

异常跟踪:

0 投票
1 回答
322 浏览

docker - 是否可以将 tomee 与更新版本的 tomcat 一起使用?

我正在维护一个基于 Tomee 构建的旧版服务器。Tomee 的发布落后于 tomcat 的发布几个月。在我的公司中,我们需要遵守严格的安全政策,即使是最新的 Tomee 版本也会因为存在未修补的安全问题而引发安全标志。

有没有办法使用 tomee 及其所有托管依赖项但覆盖 tomcat 版本进行部署?

部署环境是通过 docker 进行的,所以理想情况下,我只需在 dockerfile 中添加几行来拉取一个较新的 tomcat 并覆盖 tomee 使用的那个。这听起来很简单还是有什么技巧?

0 投票
0 回答
61 浏览

kubernetes - org.apache.catalina.ha.tcp.ReplicationValve.sendReplicationMessage 无法在 kind 集群中执行复制请求

我正在使用 Kubernetes 集群(使用 kind)并尝试“提升和转移”基于 jsf 的应用程序。我已经设法将应用程序部署到一个容器中,目前,我正在尝试在 kubernetes 中实现一个 Tomee 集群。

我已经成功创建了用于 DNS 查找的 Tomcat 服务 ingress-nginix,并使用 CloudMembershipService 配置了 tomee:

当我启动一个节点时,一切都很好,应用程序响应并且我看不到任何相关问题。此时(节点 1 已打开会话)我尝试扩展添加节点:我可以看到 pod 即将启动,正在部署的应用程序以及集群内的通信开始并使用集群成员资格,但随后我得到了 NullPointerException并且没有堆栈跟踪:

起初,我认为问题在于节点端口未公开,但我的配置是

谁能指出我正确的方向?

0 投票
0 回答
27 浏览

web-services - 问题是使用 Tomee 部署 REST Web 服务

我尝试在我的 tomee 上部署 REST Web 服务。我将 apache-tomee-plus-8.0.6 与 JDK 15 一起使用

我创建了一个名为 test 的 Web 应用程序我创建了一个这样的类:

还有一个是这样的:

然后我用浏览器和邮递员在 POST 中尝试这个 URL:http://localhost:8080/test/test/queuecontent/

我只收到 404 响应...看来我的 Web 服务没有部署。任何人都可以通过说缺少什么来帮助我?

0 投票
0 回答
31 浏览

java - Docker:为什么内存使用量小于 TomEE setenv.sh 中指定的最小堆

我在 AKS 中部署了一个托管在 TomEE 上的 Web 应用程序,下面是我的 setenv.sh

在此处输入图像描述

我期待内存使用量至少为 1024m(使用 -Xms1024m),但它没有超过 120m,为什么?

在此处输入图像描述

我发现的是

  1. Xms 保证如果操作系统没有这么多内存(加上一些额外的内存),操作系统将不会启动 java.exe。
  2. 但是,一旦 java.exe 启动,操作系统可能会根据使用情况优化内存分配,例如,如果 java.exe 空闲,操作系统可能会为其分配小于 Xms 的内存。

这仍然适用于在 AKS 上运行的应用程序吗?