问题标签 [tomee-7]

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 回答
1172 浏览

maven - NoClassDefFoundError:TomEE 启动时的 javax/faces/component/UIViewAction

我正在尝试将一个 Web 项目(所有 JAR 中WEB-INF/lib)迁移到一个 Maven Web 项目(所有 JAR 中pom.xml)。

该项目使用以下库:

  • JSF 2.2
  • PrimeFaces
  • 靴子脸
  • OmniFaces

它在 TomEE 上运行。

TomEE 启动时出现以下错误:

NoClassDefFoundError: javax/faces/component/UIViewAction

但是 JSF2 库是由 TomEE 在类路径上提供的。

这是我的pom.xml

谢谢你的帮助。

0 投票
0 回答
146 浏览

eclipse - Tomee 上的会话重新加载失败(在 Eclips 中开发的 JSF 项目)

我有一个在 Eclipse 中开发的 JSF 项目,我最近从使用托管 bean/属性的 Tomcat 8 + Mojarra JSF-2.2 转移到使用 CDI 环境的 Tomee 7 + MyFaces-2 以便能够将 Omnifaces 添加到项目中。几个小时后,除了会话重新加载外,一切似乎都在工作。保存启动重新加载的代码更改时出现以下异常(它与 Tomcat 8 一起正常工作):

我在加载会话时发现了一些类似的问题,但这些总是不同的异常(一些 IO 或未找到类异常)。

你们中有人知道服务器或项目出了什么问题吗?


使用的库:

  • BootsFaces-OSP-0.8.1-dist-default.jar
  • botdetect-3.0.alpha3.jar
  • javax.servlet.jsp.jstl-1.2.1.jar
  • javax.servlet.jsp.jstl-api-1.2.1.jar
  • omn​​ifaces-2.2.jar primefaces-5.3.jar

网页.xml:

0 投票
1 回答
398 浏览

cdi - 如何从@WebFilter 访问@SessionScoped bean

我正在开发 AuthenticationFilter 以在用户未登录时重定向用户。我使用的是 TomEE 7.0.0-M2,因此支持 Java-EE7。

身份验证过滤器

登录豆

问题是注入的 LoginBean 不是 login.xhtml 中的实例。所以我无法验证用户是否成功登录。

LoginBean 不在会话属性中,但我在这里找到了正确的 loginBean ,但我不知道如何访问它。但看起来 bean 在 CDI 中,但我如何从 WebFilter 访问它?

0 投票
1 回答
310 浏览

jax-rs - 测试嵌入 Arquillian 和 Tomee 的 JAX RS 服务

我正在使用 Tomee 7.0.0-M1 开始一个新项目,我想使用 Arquillian 测试 JAX-RS 服务,但是当我从 Intellilj 运行测试时出现以下错误:

奇怪的是,如果我使用 maven 从控制台运行测试,那么我会得到一个不同的异常:

我不确定我做错了什么。我的源文件如下:

测试

arquillian.xml

pom依赖

任何的想法?

谢谢!!

0 投票
1 回答
83 浏览

concurrency - MDB 并发实例未启动

我有一个要求,我需要 40 个线程来执行某个任务(合并),大约 20 个线程来执行另一个任务(持久性)。合并比持久化花费大约 5 倍的时间。我正在使用消息驱动的 bean 来完成这种并发性。

我使用以下配置创建了一个 MDB RecordMerger

我为坚持做了类似的事情

我在tomee.xml中的配置如下

记录合并队列的生产速度非常快,因此记录合并队列中总是有新元素。记录合并队列将数据放入记录持久性队列中。

我面临的问题是,当记录合并配置为使用 40 个线程时,我的 tomee 服务器没有实例化记录持久性 MDB,这导致记录堆积在该队列中。如果我将记录合并的 maxSession 属性减少到 20,则两个 MDB 都开始实例化。

谁能指导我我需要做什么来确保两个 MDB 都在运行并且记录合并有 40 个线程。

0 投票
1 回答
939 浏览

jakarta-ee - 将 Java EE 资源注入动态加载的类

这是一个由 Java EE 应用程序在运行时生成/加载的类(@Default Barbean 由同一应用程序提供):

以下是它的实例化方式:

使用 JBoss/WildFly,所有字段都被正确注入,包括 EntityManager、EJB、UserTransaction 等。

使用 TomEE 和 GlassFish,Java EE 资源将被忽​​略,并且只有bar字段被注入。

  1. 这应该被认为是 TomEE 和 GlassFish 中的一个错误,还是只是 JavaEE/CDI 规范中的一个白点,在应用程序服务器中以不同的方式实现?这绝对不是纯粹的 CDI 问题,因为 GlassFish 和 WildFly 都使用相同的 CDI 实现,即JBoss Weld
  2. 如何使用 TomEE 和 GlassFish 实现上述目标?可移植的解决方案是首选,但一些依赖于服务器的代码是可以的(我担心这种问题是不可避免的)。

总体目标是为动态代码提供全方位的 CDI 注入(简单@Inject以及 Java EE 资源,如,@PersistenceContext等)。我的第一次尝试是动态生成一个包含注释字段 + 动态业务逻辑的类(是的,它有效,尽管仅在 WildFly 中)。一般来说,我有一组这样的动态注入定义:@Resource@EJB

, ,等中Annotation的一个在哪里,我想获得一个实例,如果它在 CDI 托管 bean 中,则该实例将被注入。因此,可以接受一种假设方法,该方法将采用注入元数据并返回相应的实例。InjectPersistenceContextResourceEJB

0 投票
3 回答
1342 浏览

jakarta-ee - @Inject 初始化对象失败

我正在使用 tomee 服务器来运行我的 javaEE 应用程序。我写了一个注入对象的过滤器。但是该对象似乎没有被实例化:

以下是我的代码:

过滤器.java

教员.java

我正在获得 NPE。以下是堆栈跟踪:

以下是正在使用的工件的版本:

我已经尝试在 META-INF 和 WEB-INF 中包含 beans.xml,但我仍然看到 NPE。有人可以让我知道我做错了什么吗?

0 投票
1 回答
7365 浏览

java - 如何测试 Java EE7 Websocket

我已经使用 Java EE 7 提供的 api 实现了一个 WebSocket。此外,我还实现了一个客户端,它可以毫无问题地请求我的 WebSocket。为了确保在执行一些代码更改时这仍然有效,我想实现测试,这些测试也可以在构建服务器上运行,例如 Jenkins CI,而不仅仅是本地。我正在使用 Maven。

这是我的服务器端点:

这是我的客户端端点:

我还有一些其他类在使用 CDI 的构建服务器上进行了测试。为了能够使用 CDI 和其他应用程序容器功能,我正在使用EJBContainerRunner带有 apache TomeEE/OpenEJB 的版本7.0.0-M3,它启动嵌入式 TomEE 运行我的测试并随后将其关闭。使用这种方法,我没有要调用的 URL。这适用于例如 JAX-RS REST 服务,您可以在测试中简单地调用您的类方法并检查响应。但是你如何用 WebSockets 做这样的事情呢?由于缺少Session.

我当前的测试如下所示:

这适用于在我的本地机器上运行 TomEE,例如tomee-maven-plugin. 但是这种方法不能在构建服务器上完成。有没有比配置特殊端口或设置虚拟机进行测试更简单的方法?

提前致谢!

0 投票
0 回答
582 浏览

java - 带有 JSF 2.2 ConfigurationException 的 TomEE pluME

当我开始 tomEE 部署我的项目时。我得到错误。

我正在使用 JSF 2.2、apache-tomee-7.0.0-M3-plume 和 Primefaces 最新版本。

我搜索了但我没有找到任何解决方案。

TomEE 错误

Web.xml

0 投票
11 回答
119282 浏览

eclipse - 如何在 Eclipse 中使用 Tomcat 8.5.x 和 TomEE 7.x?

我需要在 Eclipse中设置一个 Tomcat 8.5.x服务器版本。当我尝试使用 Eclipse GUI 创建服务器时,我在 Eclipse Luna 中选择了最新版本“ Apache Tomcat v8.0 ”。当我选择它并浏览到我的 Tomcat 8.5.x 服务器时,我收到以下阻塞错误消息:

此目录中的 Apache Tomcat 安装版本为 8.5.0。预计安装 Tomcat 8.0。

尝试内部基于 Tomcat 8.5 的 TomEE 7.x 时出现相同的错误。

Eclipse Neon中,选择的最新版本是“ Apache Tomcat v9.0 ”,它给出了同样的错误。甚至没有“ Apache Tomcat v8.5 ”选项。

有没有办法在 Eclipse 中使用 Tomcat 8.5和 TomEE 7.x?如何?