2011-04-27 41 views
2

當我運行在一臺機器下面的代碼,我得到的Tomcat實現org.apache.tomcat.dbcp.dbcp.BasicDataSource,當我在另一臺機器上運行它,我得到的org.apache.commons.dbcp.BasicDataSource阿帕奇百科全書實現(這顯然導致ClassCastException)。只是想知道爲什麼代碼和context.xml不會導致返回兩個不同的DataSource實現?的JDBC DataSource

Context context = (Context) initialContext.lookup("java:/comp/env"); 
return (DataSource) context.lookup("jdbc/dbName"); 
+0

你檢查過包含這些類的jar文件嗎? – JSS 2011-04-27 09:52:48

+0

它可以像一個類路徑問題一樣簡單嗎?兩個tomcat服務器是否都以SAME啓動腳本啓動?這兩場戰爭中的戰爭是否都是同一文件?兩種服務器配置是否相同? – corlettk 2011-04-27 09:57:49

+0

感謝您的意見球員,@JSS我在他們的jar文件中檢查什麼? @Corlettk我不確定你的意思是類路徑問題,啓動腳本在內存分配方面是不同的,是的戰爭是一樣的。你能否更具體些? – Abidi 2011-04-27 10:22:20

回答

1

我想你並沒有在你的戰爭中包括DBCP。所以它使用的是Tomcat中配置的任何DataSource。你可能使用了兩個不同版本的Tomcat,或者至少它們的配置是不同的;一個必須具有commons-dbcp.jar,另一個具有tomcat-dbcp.jar。

相關問題