0
我們必須重用某段具有jdbc調用的代碼。現有的代碼是我們無法修改的jar文件。他們正在做JNDI查找數據庫連接這樣的事情如何做獨立於服務器的JNDI查找?
InitialContext context = new InitialContext();
DataSource dataSource = (DataSource) context.lookup("java:jdbc/testDB");
這個工作在JBoss的很好,但我們正在嘗試使用相同的Tomcat服務器和失敗。在google搜索後,我發現對於tomcat我需要做這樣的事情。
InitialContext context = new InitialContext();
DataSource dataSource = (DataSource) context.lookup("java/comp/env/:jdbc/testDB");
我不能修改代碼以使java/comp/env只適用於tomcat。有沒有一種獨立於服務器的方式(通過某個配置文件)來解決這個問題,以便我可以在不修改代碼的情況下找到資源?
對不起一定的代碼是一個我沒有訪問(基本上這就是第三方服務,做數據庫查詢)的,其中有上下文查詢。所以我不能像上面提到的那樣添加註釋 –
但是,如果你無法訪問代碼,你打算如何改變任何東西? :) –
我在想如果有服務器配置,我可以改變,這樣我就不必修改編輯代碼。例如,代碼保持不變,使用某個xml文件(服務器依賴的方式)更改指定jndi資源名稱的方式 –