0

約 6 か月前に動作していた単純な EJB アプリケーションがあります。最新の JDeveloper (11.1.1.3.0) をインストールしましたが、この問題が発生したときに再度動作させようとしています。

次の行でデプロイが失敗します。

TeacherManager teacherManager = (TeacherManager)context.lookup("Uran_2.0-TeacherManager#hu.elte.pgy2.BACNAAI.UranEJB.TeacherManager");

メッセージ付き(私が強調):

javax.naming.NameNotFoundException: 「Uran_2.0-TeacherManager#hu.elte.pgy2.BACNAAI.UranEJB.TeacherManager」を検索しようとしているときに、サブコンテキスト「Uran_2」が見つかりませんでした。解決済み '' [ルート例外は javax.naming.NameNotFoundException です: 'Uran_2.0-TeacherManager#hu.elte.pgy2.BACNAAI.UranEJB.TeacherManager' をルックアップしようとすると、サブコンテキスト 'Uran_2' が見つかりませんでした。解決済み '']; 残りの名前「Uran_2/0-TeacherManager#hu/elte/pgy2/BACNAAI/UranEJB/TeacherManager

どうやら、アプリケーションの名前 (Uran_2.0) は、JDeveloper (または JNDI? 私にはよくわかりません) に.、名前の を に置き換えるように促し/、明らかに JNDI ルックアップが失敗するようにします。どうすればこれを回避できますか?

4

1 に答える 1

0

ステートレス/ステートフル EJB は、JNDI 名を明示的に指定する必要があります。

@Stateless(mappedName = ?)

これが機能しない場合は、 を使用context.list("")して jndi ツリーをブラウズし、どのリモート EJB がデプロイされているかを確認できます。

于 2010-10-28T14:01:04.537 に答える