2012-01-07 27 views
1

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

EJBContainer container = EJBContainer.createEJBContainer();

總是返回「null」。

如何實例化EJBContainer並獲取用於查找EJB 3.0本地無狀態會話Bean的單元測試的上下文?

我想從創建的容器中獲取上下文,而不是從初始上下文獲取上下文,該如何實現?

+0

你能告訴我們測試用例代碼嗎? – stratwine 2012-01-07 12:27:44

回答

1

在OpenEJB的,OpenEJB的4.0.0-β被發現能夠支持Java EE的嵌入式API,並與這一點,我們可以在我們的測試用例像嵌入容器,

EJBContainer ejbContainer = EJBContainer.createEJBContainer(); 

在OpenEJB的,我們可以以前版本不這樣做,因此我們使用「LocalInitialContextFactory」來創建上下文。

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"); 

看一看的Simple Stateless例子。

+0

我以前試過這個,但是當像這樣實例化時我得到「null」 EJBContainer ejbContainer = EJBContainer.createEJBContainer(); 需要任何配置? – 2012-01-08 06:16:04