【发布时间】:2011-07-22 11:24:32
【问题描述】:
几天以来,我尝试用Oracle的连接池替换Tomcats dbcp。这是必需的,因为 Web 应用程序使用一些 Oracle 特定功能。
目前,JNDI 数据源是这样配置的:
<Resource
name="jdbc/oracle"
driverClassName="oracle.jdbc.OracleDriver"
auth="Container"
type="oracle.jdbc.pool.OracleConnectionPoolDataSource"
factory="oracle.jdbc.pool.OracleDataSourceFactory"
user="*****"
password="*****"
url="*****"
/>
当我从池中获取连接时,它仍然是类型 org.apache.commons.dbcp.PoolingDataSource.PoolGuardConnectionWrapper
谁能给我一个提示,这里出了什么问题?
提前致谢,
马库斯
【问题讨论】:
-
好的,几天后我发现了问题。该应用程序使用 Spring。在应用程序上下文的某处,有一个使用 Jakarta Commons DBCP 的 DataSource 的 bean 定义。抛出 ClassCastException 的代码使用从应用程序上下文中的 DataSource 获取的 Connection 进行操作。 JNDI 和 Spring 的混淆太混乱了。
标签: oracle tomcat configuration apache-commons-dbcp