1

javax.ejb.embeddable.EJBContainer を使用して OpenEJB を TestCase に埋め込む。

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

Simple Statelessの例を見てください。

于 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 に答える