1

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

EJBContainer 容器 = EJBContainer.createEJBContainer();

总是返回“null”。

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

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

4

2 回答 2

2

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

(我认为您打算询问 EJB 3.1。javax.ejb.embeddable.EJBContainer在 EJB 3.1 中添加了)您可以这样做:

 EJBContainer ejbContainer = EJBContainer.createEJBContainer();
Object object = ejbContainer.getContext().lookup("java:global/simple-stateless/CalculatorBean");

看看简单的无状态示例。

于 2012-01-07T12:26:54.053 回答
1

在 OpenEJB 中,发现 OpenEJB 4.0.0 -beta 支持 java ee 可嵌入 API,因此我们可以将容器嵌入到我们的测试用例中,例如,

    EJBContainer ejbContainer = EJBContainer.createEJBContainer();

在以前的 OpenEJB 版本中,我们不能这样做,因此我们使用“LocalInitialContextFactory”来创建上下文。

于 2012-01-11T06:15:17.317 回答