Tomcat и JDBC - PullRequest
       44

Tomcat и JDBC

3 голосов
/ 16 августа 2011

Я пытаюсь настроить следующее на Tomcat.

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, оно работает нормально. Это не позволяет мне настраивать конкретные приложения. Есть идеи?

У меня есть ojdbc6.jar в $TOMCAT_HOME/lib, а также в WEB-INF/lib папки моего приложения. Пожалуйста, порекомендуйте. Я что-то пропустил? Спасибо за ваше время.

1 Ответ

4 голосов
/ 18 августа 2011

Вы можете попытаться не использовать определенные классы 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"/>

Надеюсь, это поможет

...