0

私はJavaでアプリケーションを作成していて、そこにいくつかのRESTWebサービスがあります。私のアプリケーションの構造は次のとおりです:http://cl.ly/L7Pv/o

RESTWebサービスクラスはステートレスセッションBeanです。それは魅力のように機能します。しかし、写真の赤いクラスは、そのRESTリソースも使用したいと考えています。

私が知っている限りでは、依存性注入とアノテーション@EJBを使用することはできません。JNDIルックアップを使用する必要があると思います。ドキュメント:http ://docs.oracle.com/javaee/6/tutorial/doc/gipjf.html

しかし、今はこのJNDIルックアップの書き方がわかりません。私はこれらの2つを試しました:

context.lookup("java:global/diplomka/ListResource");
context.lookup("java:global/Diplomka_maven/ListResource");

私は何が間違っているのですか?そもそもこれは正しいアプローチですか?

ありがとうございました

4

1 に答える 1

0

これらのクラス(ListResourceなど)がステートレスセッションBeanの場合、属性またはnameアノテーションを追加できます。例:mappedName@Stateless

@Stateless(mappedName="ejb/myRestService")
public class ListResource { ..

ステートレスBeanのJNDI名を指定すると、JNDIルックアップを介してBeanを簡単にフェッチできます。

InitialContext ic = new InitialContext();
ListResource lr = (ListResource) ic.lookup("ejb/myRestService");
lr.doWhateverNeeded(..);
于 2012-11-24T15:26:28.237 に答える