2011-08-16 14 views
3

Tomcatで以下の設定をしようとしています。私は私のアプリMETA-INF/context.xmlファイルに次のように置くとき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" 

、私は次のエラーを取得する:

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にojdbc6.jarを持っていますし、私のアプリケーションフォルダのWEB-INF/libにもあります。お知らせ下さい。何か不足していますか?御時間ありがとうございます。

答えて

4

データソース構成で "OracleDataSourceFactory"などの特定のOracleクラスを使用しないようにすることができます。 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

関連する問題