当我在一台机器上运行以下代码时,我得到了org.apache.tomcat.dbcp.dbcp.BasicDataSource的tomcat实现,当我在另一台机器上运行它时,我得到了org.apache.commons.dbcp.BasicDataSource的apache commons实现(这显然导致了ClassCastException)。只是想知道为什么代码和context.xml中没有任何更改会导致返回两个不同的DataSource实现?
Context context = (Context) initialContext.lookup("java:/comp/env");
return (DataSource) context.lookup("jdbc/dbName");发布于 2011-05-19 08:59:44
我想你并没有在你的war中包含DBCP。所以它使用的是Tomcat中配置的DataSource。您可能正在使用两个不同的Tomcat版本,或者至少它们的配置是不同的;一个版本必须是commons-dbcp.jar,另一个版本必须是tomcat-dbcp.jar。
https://stackoverflow.com/questions/5802137
复制相似问题