WebSphere で構成されている Web アプリケーションで JDBC 接続を使用したいと考えています。(ここのように: How to use JDBC in JavaEE? )
私は以前に JPA 経由でこの DataSource を使用していましたが、顧客はネイティブ SQL を使用したいと考えています...質問しないでください。
多くの例とチュートリアルを見つけました (例: http://www.wickcentral.com/java/dl/ds_resreferencesetts_Websphere.pdf、Websphere JNDI lookup fails )。
WebSphere の DataSource の JNDI 名は「jdbc/myDS」です。
web.xml に resource-ref を追加しました。
<resource-ref>
<res-ref-name>jdbc/myDS</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
<res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>
そして、私は自分の Dao で DataSource を取得しようとしました:
ds = (DataSource) new InitialContext()
.lookup("java:comp/env/jdbc/myDS");
しかし、私が得るのは
com.ibm.wsspi.injectionengine.InjectionException: CWNEN0044E: A resource reference binding could not be found for the following resource references [jdbc/myDS], defined for the MyAPP component.
私はたくさん試しました。誰かが障害を見ましたか?