web-dev-qa-db-ja.com

javax.naming.NameNotFoundException:「MyDB」を解決できません。解決済み '' Weblogic 12.1.3。 c

TomcatからWeblogic 12.1.3への移行中にこの例外が発生しましたjavax.naming.namenotfoundexception while trying to look upその後、私は次を試してみました: NameNotFoundException:Eclipse Keplerから公開し、Indigo および にアクセスしない場合にのみ 'jdbc'を検索しようとしたときweblogic 10.3.6で定義されたJNDIデータソース

タイトルのエラーになりました

私の検索コード

ds = (DataSource) initContext.lookup("MyDB");

weblogicJNDI名

MyDB

助けてください?

9
Dunken

Tomcatとは異なり、weblogicは複数のサーバー(通常は管理サーバーに加えて少なくとも1つのサーバー)を作成します。各サーバーにデータソースを割り当てる必要があります。クラスター環境では、クラスターサーバーにデータソースを適用する必要があります。

  1. Weblogicコンソールにログインして、データソースのJNDI名を確認します(これをデータソース名と混同しないでください。純粋にコンソールのリストをきれいに保つためです)。 JNDI名はjdbc/MyDBのようなものでなければなりません
  2. データソースターゲットタブを確認し、Webアプリをデプロイするサーバー/クラスターに適用されていることを確認します。
  3. Weblogicを再起動します。データソースは、アプリケーションコードから見えるようになる前にこれを必要とすることがあります。
  4. Webアプリを正しいサーバー/クラスターにデプロイします。

通常どおりデータソースに接続する必要があります。私は常にSpring JNDI Beanを使用しているので、正確な構文を手伝うことはできません。 @Maasによる提案は良さそうです。

27
kiwiron

JNDIケース(MyDB!= MyDb)を確認してください。些細なことのように聞こえますが、それは私に起こり、それを見つけるのに苦労しました。これは、この問題を検索するときにGoogleが返す最初のスレッドなので、役立つ場合はここに投稿します。

それに加えて、@ kiwironの答えは他のすべてをカバーしています。

1
A. Schoinas

展開後にサーバーを再起動すると役立ちます。

1
ACV

私にとって、管理サーバーをWebLogic管理コンソールを使用して起動するのではなく、Windowsコマンドラインから起動すると、javax.naming.NameNotFoundException問題。しかし、なぜそうなのかはわかりません。

0
weiwei