p6spy не может найти подходящий драйвер для com.mysql.jdbc.Driver

Используя tomcat 7, tomcat-jdbc.jar, p6spy 2.14, C3p0 и hibernate в операционной системе Ubuntu 14.04.

Мой p6spy.jar находится в /usr/share/tomcat7/lib, который находится в моем cp. Файл spy.properties передается через системное свойство для правильной загрузки.

Соответствующий раздел hibernate.cfg.xml

<hibernate-config>
      <driver_class>com.p6spy.engine.spy.P6SpyDriver</driver_class>
      <url>jdbc:p6spy:mysql://myhost:3306/mydatabase</url>
      <username>xxx</username>
      <password>xxx</password>
</hibernate-config>

когда я явно добавлю driverlist=com.mysql.jdbc.Driver

в spy.properties tomcat выдает это исключение:

Warning: Error registering driver names: [com.mysql.jdbc.Driver]
Caused By: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
com.p6spy.engine.spy.P6DriverNotFoundError: Error registering driver names: [com.mysql.jdbc.Driver]
Caused By: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
        at com.p6spy.engine.spy.P6ModuleManager.loadDriversExplicitly(P6ModuleManager.java:220)
        at com.p6spy.engine.spy.P6ModuleManager.<init>(P6ModuleManager.java:130)
        at com.p6spy.engine.spy.P6ModuleManager.initMe(P6ModuleManager.java:73)
        at com.p6spy.engine.spy.P6ModuleManager.<clinit>(P6ModuleManager.java:61)...

Когда я освобождаю настройки списка драйверов - или вставляю их, как указано выше, я всегда получаю это исключение - странным образом выглядит, как будто префикс p6spy был усечен из моей строки подключения:

WARN [com.mchange.v2.resourcepool.BasicResourcePool]: com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@309efc1f -- Acquisition Attempt Failed!!! Clearing pending acquires. While trying to acquire a needed new resource, we failed to succeed more than the maximum number of allowed acquisition attempts (30). Last acquisition attempt exception:
java.sql.SQLException: Unable to find a driver that accepts jdbc:mysql://devtestrds.cdsug1b8degu.us-west-1.rds.amazonaws.com:3306/biz_eng
        at com.p6spy.engine.spy.P6SpyDriver.findPassthru(P6SpyDriver.java:119)
        at com.p6spy.engine.spy.P6SpyDriver.connect(P6SpyDriver.java:94)
        at com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:135)
        at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:182)
        at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:171)
        at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource(C3P0PooledConnectionPool.java:137)
        at com.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.java:1014)
        at com.mchange.v2.resourcepool.BasicResourcePool.access$800(BasicResourcePool.java:32)
        at com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.run(BasicResourcePool.java:1810)
        at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:547)

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

3 ответа

В P6Spy 2.X вам нужно будет установить driverlist=com.mysql.jdbc.Driver в spy.properties.

P6Spy 1.3 автоматически регистрирует драйверы, что иногда вызывает дублирование регистрации. Вот почему в 1.3 также была настройка для отмены регистрации драйверов.

После добавления mysql-connector-java-5.1.37-bin.jar к моему CP я смог заставить tomcat найти драйвер sql через проходной драйвер p6spy - но потом я сгенерировал исключение связывания.

Однако в конце концов я правильно установил p6spy в моей конфигурации tomcat7/hibernate, опустив версию до p6spy v1.3 и установив "deregisterdrivers=true" в соответствующем файле spy.properties формата 1.3.

Схожу с ума сегодня, сталкиваясь с этой проблемой. Прокручивая журнал, я понимаю, что мой драйвер ojdbc не был поддержан Java 6. Настройка Java 7 и все идет хорошо.

Другие вопросы по тегам