几天以来,我尝试用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

有人可以给我提示吗,这是怎么回事?

提前致谢,

马库斯

最佳答案

您可以通过调用以下内容获取包装的连接:http://www.docjar.com/docs/api/org/apache/commons/dbcp/PoolingDataSource.PoolGuardConnectionWrapper.html#getDelegate()

然后将其转换为具体的Oracle连接对象。

顺便说一句:没问题,大多数(如果不是全部)应用程序服务器都使用某种包装器来包装隔离连接。

关于oracle - Tomcat:用OracleConnectionPoolDataSource替换DBCP,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6789268/

10-10 01:33