BoneCp подходящий драйвер не найден Spring 3.1 Hibernate 4.0 - PullRequest
1 голос
/ 01 февраля 2012

В настоящее время я использую BoneCP в качестве диспетчера пула соединений, поскольку реальной альтернативы нет (c3p0 не работает). Я использую Hibernate 4 и Spring 3.1, и все работает нормально. Единственное, что меня беспокоит, это регистрация нестандартного драйвера, например oracle.jdbc.driver.OracleDriver.

Когда приложение запускается и некоторая информация загружается из базы данных, я получаю следующее сообщение:

java.sql.SQLException: не найден подходящий драйвер для jdbc: oracle: thin: @localhost: xxx: xxxx

Источник данных зарегистрирован следующим образом:

<bean id="mainDataSource" class="com.jolbox.bonecp.BoneCPDataSource" destroy method="close">
    <property name="driverClass" ref="hibernate.connection.driver_class" />
    <property name="jdbcUrl" ref="hibernate.connection.url" />
    <property name="username" ref="hibernate.connection.username" />
    <property name="password" ref="hibernate.connection.password" />
    <property name="poolName" ref="hibernate.connection.username"/>
...
</bean>

Этот источник данных затем внедряется в сессионную фабрику.

При запуске этого приложения в пристани в затмении оно работает отлично. При развертывании в Tomcat 6.x или Websphere 8.x не удается найти указанный драйвер.

Я пытался добавить этот драйвер в источник данных источника:

<bean id="myDataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" ref="hibernate.connection.driver_class"/>
    <property name="url" ref="hibernate.connection.url"/>
    <property name="username" ref="hibernate.connection.username"/>
    <property name="password" ref="hibernate.connection.password"/>
</bean>

Это «исправило» мою проблему, но теперь я получаю исключение при закрытии соединения при загрузке данных из базы данных. (при запуске). Я могу использовать свое приложение, но иногда эта ошибка соединения закрывается снова в случайные моменты.

Я видел, что команда BoneCP подтвердила первую проблему как ошибка BoneCP , но она еще не была исправлена. Я попытался реализовать предложенное решение с этого сайта для отслеживания ошибок, но снова получаю сообщение об ошибке закрытия соединения.

Есть предложения?

1 Ответ

0 голосов
/ 09 марта 2012

В моем случае было две конфигурации подключения - одна в hibernate.cfg.xml и вторая весной.Hibernate 4.0 теперь загружает конфигурацию соединения, если она доступна из hibernate.cfg.xml, несмотря на наличие bean-компонента конфигурации Spring.

Так что просто удалите вторую конфигурацию соединения из spring или hibernate.cfg.xml

...