2011-08-16 39 views
3

我想在Tomcat上配置以下內容。Tomcat和JDBC

Resource auth="Container" name="jdbc/yourDataSourceName" 
     driverClassName="oracle.jdbc.OracleDriver" 
     factory="oracle.jdbc.pool.OracleDataSourceFactory" 
     type="oracle.jdbc.pool.OracleDataSource" 
     connectionCacheProperties="{}" 
     connectionCachingEnabled="true" 
     user="foo" 
     password="bar" 
     url="jdbc:oracle:thin:@foo.bar.com:1521:foobar" 

當我把我的應用程序META-INF/context.xml文件下面,我得到以下錯誤:

java.lang.ClassCastException: org.apache.tomcat.dbcp.dbcp.BasicDataSource cannot be cast to oracle.jdbc.pool.OracleDataSource 

當我移動這$TOMCAT_HOME/conf/context.xml,它工作正常。它不會讓我配置特定的應用程序。有任何想法嗎?

我在我的應用程序文件夾的$TOMCAT_HOME/lib以及WEB-INF/lib中有ojdbc6.jar。請指教。我錯過了什麼嗎?謝謝你的時間。

回答

4

您可以嘗試在數據源配置中不使用特定的Oracle類,例如「OracleDataSourceFactory」。看來Oracle Conn.pool與DBCP不兼容。 只定義driverClass。

你可以嘗試這樣的事情:

<Resource 
name="jdbc/yourDataSourceName" auth="Container" 
type="javax.sql.DataSource" 
driverClassName="oracle.jdbc.OracleDriver" 
url="jdbc:oracle:thin:@foo.bar.com:1521:foobar" 
user="foo" 
password="bar" 
maxActive="5" maxIdle="1" maxWait="-1"/> 

希望這將有助於

+0

它確實幫助。謝謝! – asgs