问题标签 [openejb]

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

tomcat - 在 Openejb 3.1.4 和 Tomcat 中配置 MDB

我正在使用 Tomcat 和 OpenEJB 3.1.4。使用消息驱动 Bean(EJB 2.0 - MDB)从 MQ 接收消息。我需要对 OpenEJB-Tomcat 进行哪些配置或设置才能通过 MDB 接收消息?

0 投票
2 回答
1684 浏览

jakarta-ee - 使用 javax.ejb.embeddable.EJBContainer 在 TestCase 中嵌入 OpenEJB

使用 javax.ejb.embeddable.EJBContainer 在 TestCase 中嵌入 OpenEJB。

EJBContainer 容器 = EJBContainer.createEJBContainer();

总是返回“null”。

如何实例化 EJBContainer 并获取上下文以查找 EJB 3.0 本地无状态会话 Bean 以进行单元测试?

我想从创建的容器中获取上下文而不是从初始上下文中获取上下文,如何完成?

0 投票
1 回答
584 浏览

jakarta-ee - EJB 3.1 - javax.security.auth 的实现

据我了解 javax.security.auth 是一个用于身份验证和授权的 API。

我知道安全性应该由容器提供者实现,并且 bean 提供者可以按照 JSR 的建议在他的 bean 我的简单注释(等)中@javax.annotation.security.RolesAllowed使用它。@PermitAll

我的问题:这仅仅意味着如果不部署在容器中就无法测试安全性。有没有办法使用 javax.security 的外部第三个实现,它可以以某种方式从测试中注入到 bean 中,也可以从中传播和测试安全性?

这几乎是一种类似的方法,我们使用该方法将 JPA 实现或外部事务管理器从单元测试注入到 bean 中进行测试。

PS:我只是想检查一下这是否可能,如果可能的话,它可能会为其他一些开发开辟道路。我知道可以通过将 bean 部署在 OpenEJB 或 Arquillian 等嵌入式容器中轻松完成此测试。

0 投票
1 回答
1185 浏览

unit-testing - 将 openejb 中的 DataSource jndi 名称配置为特定于 JBoss

如何更改OpenEJB 嵌入式容器中的 JNDI 名称 ( java:/openejb/Resource/MysqlDS ) 以在测试用例中适应JBoss 特定 ( java:/MysqlDS ) 以进行单元测试。这可以在DataSource的资源注入中配置吗?

0 投票
1 回答
796 浏览

jndi - 在 OpenEJB 嵌入模式下使用 JNDI 属性文件

尽管 jndi 属性文件保存在类路径中,但在 ANT 中的 JVM 参数中配置时,它没有加载,并且 JNDI 属性可以正常工作。

如何通过属性配置 JNDI,以便即使在

Context=new InititalContext()用于EJB 中需要加载属性中配置的JNDI 属性。

谢谢,

维尔穆鲁甘 R

0 投票
1 回答
199 浏览

openejb - 具有依赖项的独立 OpenEJB 打包

有一些关于如何打包和部署依赖于 OpenEJB 的 EJB 的文档/规范?

我尝试部署一个 EAR 包:

部署成功,客户端可以使用JNDI找到,但是初始化时,出现NoClassDefFound异常。

0 投票
1 回答
1128 浏览

ejb-3.0 - 嵌入式 EJB 容器与实际服务器容器有什么区别

嵌入式 EJB 容器与生产中使用的实际服务器容器之间的明显区别是什么。

我可以找到 2 个场景。

  1. 例如。glassfish-embedded-static-shell.jar - 没有任何实现,依赖于 glassfish 服务器的本地安装。
  2. 像 OpenEJB - 它只需要将 jar 添加到类路径中,并且不需要安装。

AFAIK,两者都称为嵌入式容器。那么,它的真正含义是什么?

此外,嵌入式容器是否具有 EJB 规范支持的所有特性?

0 投票
1 回答
3785 浏览

java - 使用 OpenEJB 控制无状态会话 bean 的名称

我正在使用 OpenEJB (TomEE++) 容器开发 EJB 项目。有一个会话 bean,其 JNDI 查找名称需要在代码中进行控制。

我的问题是,这个 bean 绑定的名称是 'global/slides/SlideService'

OpenEJB 似乎使用了应用程序名称,尽管我没有特别提到它。

这会损害便携性吗?是否有可能其他容器可能不使用应用程序名称?

使用 name 和 mappedName 属性是控制无状态 bean 名称的正确方法,还是有其他(更好的)方法?

0 投票
1 回答
1983 浏览

java - 我应该使用哪个 InitialContextFactory?

我正在使用 OpenEJB (TomEE++) 开发一个 EJB 3 项目。

我有一个无状态会话 bean,其名称已用注释指定。

我从我的 Struts 动作类中查找 Session bean,就像这样。

在上面的代码中,您会注意到我必须使用名称“SlideServiceLocalBean”来定位 bean,而我在 bean 的注释中明确指定了“SlideService”。

但是,当我尝试在测试用例中定位 bean 时,我必须使用另一个名称字符串。

为什么查找名称存在差异?

我是在 Struts 动作类中以正确的方式获取 InitialContext,还是应该使用另一种机制/contextFactory 来获取初始上下文?

是否可以在不使用外部 DI 库的情况下将 bean 注入到动作类中?

0 投票
3 回答
10313 浏览

java - openejb 嵌入式容器找不到 persistence.xml

我在嵌入式模式下使用 openEjb 来测试一个无状态会话 bean,它有一个注入的 EntityManager。但是,当我运行测试时,它失败了,因为它无法初始化应用程序。当我看到控制台时,我还可以看到与无法找到 persistence.xml 相关的错误

注意:我尝试将 WebContent 以及 META-INF 放在类路径中,但这也无济于事。

更新:

使用 openejb + eclipse 时,资源查找有一些很奇怪的地方。

  1. 我将 WebContent 添加到源文件夹。我停止收到 persistence.xml 错误,但现在我收到一个错误,提示 openejb 找不到任何托管资源
  2. 我将 WebContent 添加到源文件夹,但使用不同的输出文件夹(对源文件夹使用允许输出文件夹),persistence.xml 错误再次开始发生
  3. 我将 META-INF 复制到“test”中,这是所有测试的源文件夹,一切运行正常
  4. 关于第 1 点和第 2 点,问题似乎是 WEB-INF 也作为 WebContent 的一部分包含在内。如果我排除WEB-INF,那么openejb再次可以在测试中找到persistence.xml并且测试运行正常

老实说,我对正在发生的事情一无所知。

我在下面粘贴所有相关的错误和代码。

Eclipse 中 JUnit 测试失败导致的错误堆栈

我的控制台输出:

无状态会话 Bean:

持久性.xml

JUnit 测试用例: