いくつかの jdbc 呼び出しを含む特定のコードを再利用する必要があります。既存のコードは、変更できない jar 内にあります。彼らは、このようなデータベース接続のJNDIルックアップを行っています
InitialContext context = new InitialContext();
DataSource dataSource = (DataSource) context.lookup("java:jdbc/testDB");
これは JBoss では正常に機能しますが、Tomcat サーバーで同じものを使用しようとすると失敗します。少しグーグルで調べた後、Tomcatの場合、このようなことをする必要があることがわかりました。
InitialContext context = new InitialContext();
DataSource dataSource = (DataSource) context.lookup("java/comp/env/:jdbc/testDB");
Tomcat のためだけに java/comp/env を持つようにコードを変更することはできません。コードを変更せずにリソースを見つけることができるように、これを解決するためのサーバーに依存しない方法(構成ファイルによる)はありますか?