EJB 3 のデフォルトの JNDI 命名に関する情報がどこにあるか教えてもらえますか?
Weblogic は Glassfish のような移植可能な JNDI 名を使用しますか?
(Glassfish の場合のように) JNDI 名が使用された EJB デプロイメントの痕跡を見つけることはできますか?
例えば :
- @Remote のみのインターフェース (サービス)
- インターフェースを実装する @Stateless のみを持つ Bean (ServiceImpl)
- ファイルにパッケージ化されたすべて
.ear
(service-application-1.0)
Weblogicにデプロイするとき、私が見る唯一のJNDIリファレンスは次のとおりです。
service-application-1.0service-application-1.0_jarServiceImpl_Home
しかし、その名前をコンテキスト ルックアップで使用することはできません。私が行った場合
Service myService = (Service) context.lookup("service-application-1.0service-application-1.0_jarServiceImpl_Home");
それは私に与えます
Exception in thread "main" java.lang.ClassCastException: weblogic.ejb.container.internal.StatelessEJBHomeImpl_1035_WLStub cannot be cast to com.tuto.Service
at com.tuto.TestEjb.main(TestEjb.java:24)
PS。Glassfishを使用すると、
Portable jndi names for .... : java:global/service-application-1.0/service-application-ejb-1.0/ServiceImpl
と
Service myService = (Service) context.lookup("java:global/service-application-1.0/service-application-ejb-1.0/ServiceImpl");
は働いている。