0

私は自分の ejb を持っています。そのクライアントは、was7 にデプロイされた ear にパックされています。今度は、junit でテストする必要があるので、スタンドアロンの Java アプリケーションを作成しました。ejb クライアントによって生成された jar を追加し、呼び出しを試みます。実際のテストケースを作成する前に:

    @EJB private static ConfiguratorIDA conf;
/**
 * @param args
 */
public static void main(String[] args) {
    // TODO Auto-generated method stub
    try {
        conf.setupIsbanDataAccess();
    } catch (NegocioException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}

私は ejb と同様に実行されていますが、アプリケーションを実行すると、conf.setupIsbanDataAccess(); で NullPointerException が発生します。

スタンドアロンのJavaアプリでejbを呼び出す方法を知っている人はいますか? 前もって感謝します。

4

2 に答える 2

1

インジェクション(を含む)は、アプリケーションクライアントコンテナ@EJBを使用している場合にのみ機能します。これは、コンテナがメインメソッドを実行する前にインジェクションを実行する機会を持っている必要があるためです。スタンドアロンJVMを本当に使用したい場合は、クラスパスにEJBシンクライアントを含め、インジェクションを使用するのではなく、JNDIを使用してEJBを手動でルックアップする必要があります。

于 2013-01-03T17:18:21.917 に答える
0

C3P0の助けを借りて、EJB3 モジュールに単体テストを正常に実装しました。その方法については、簡潔で簡潔なブログ記事がここにあります。

于 2012-12-29T00:23:14.317 に答える