2

新しく実装された JAX-RS サービスで既存の EJB を動作させようとしています。

私のプロジェクトは次のように設定されています

root
  ear
  ejb
  war

以下は、戦争プロジェクト内で正常に動作する従来の JAX-WS コードです...

@WebService
public class MyService {
    @EJB
    MyEJBLocal local;
...
}

次の JAX-RS リソースを EJB プロジェクトに追加しました (長い話で、まだ戦争でテストする時間がありませんでした)...

@Stateless
@Path("test")
public class MyResource {
    @EJB
    MyEJBLocal local;

    @GET
    @Produces("text/plain")
    public String getCount(){
        //int count = local.getCount();
        //TODO: remove below once above is working
    return String.valueOf(20);
    }
    ....
}

コメントを削除すると、ローカルが null であるため、null ポインター例外が発生します。これは、初期コンテキストを作成して JNDI 名を渡そうとしましたが、名前が見つからないため、JAX-RS が EJB マッピングを取得する際の問題によるものだと思います。

JAX-RS の代わりに JAX-WS を使用する以外に回避策はありますか?

4

0 に答える 0