Tomcat サーバー (v5.5 & v6) にデプロイされた個人用のJava ライブラリがあります。このライブラリは多くの Web アプリケーションで共有されているため、tomcat ディレクトリの shared/lib にデプロイされています。
例外的に、JNDI 経由で jdbc データソースをルックアップする新しいクラスをこのライブラリに作成する必要があります。
そのために、ここに私のコード:
Context initCtx = new InitialContext();
Context envCtx = (Context) initCtx.lookup("java:comp/env");
DataSource dataSource = (DataSource) envCtx.lookup("jdbc/corp.xx.xx.xxxxDS");
すべてのコンテキストは問題なくインスタンス化されます。しかし、jdbc データソースを検索すると、例外があります: Name jdbc not Found in Context
私たちはウェブアプリではありませんが、問題はありますか? ResourceLink で context.xml を宣言することは可能ですか? どうやって ?
注意: jndi は server.xml (GlobalNamingResources のリソース) に設定されています。