Weblogic(12c)で定義されたJNDIデータソースをローカルのjndi名にマッピングするのに問題があります。
weblogic mysqlデータソースに「mysqltestds」として定義されたデータソースがあり、Webアプリケーション内のiをローカル名「localds」にマップしたい
私のweb.xmlプロパティは
<resource-ref>
<res-ref-name>localds</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
weblogic.xmlを使用
<weblogic-web-app>
<resource-description>
<res-ref-name>localds</res-ref-name>
<jndi-name>mysqltestds</jndi-name>lls
</resource-description>
</weblogic-web-app>
グローバル名「mysqltestds」を使用してデータソースを取得すると、正しく機能します。
Context initialContext = new InitialContext();
Object resource = initialContext.lookup("mysqltestds");
dataSource = (DataSource) resource;
ただし、「localds」を試してみると、次のエラーで失敗します。
Context initialContext = new InitialContext();
Object resource = initialContext.lookup("localds");
dataSource = (DataSource) resource;
javax.naming.NameNotFoundException:「localds」を解決できません。解決済み''; 残りの名前'localds'
誰でも助けることができます。このstackOverflowの質問TomcatとWeblogicJNDIルックアップの指示に従いましたが、成功していません。