2014-10-24 3 views
1

Я пытался использовать HikariCP с PostgreSQL, но он не работает. Он бросает исключение:HikariCP с PostgreSQL: setQueryTimeout (int) еще не реализовано

WARN [2014-10-24 14:38:54,195] com.zaxxer.hikari.pool.HikariPool: Exception during keep alive check, that means the connection must be dead. 
    ! org.postgresql.util.PSQLException: Method org.postgresql.jdbc4.Jdbc4Statement.setQueryTimeout(int) is not yet implemented. 
    ! at org.postgresql.Driver.notImplemented(Driver.java:753) ~[postgresql-9.0-801.jdbc4.jar:na] 
    ! at org.postgresql.jdbc2.AbstractJdbc2Statement.setQueryTimeout(AbstractJdbc2Statement.java:656) ~[postgresql-9.0-801.jdbc4.jar:na] 
    ! at com.zaxxer.hikari.pool.HikariPool.isConnectionAlive(HikariPool.java:473) [HikariCP-java6-2.1.0.jar:na] 
    ! at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:178) [HikariCP-java6-2.1.0.jar:na] 
    ! at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:94) [HikariCP-java6-2.1.0.jar:na] 

Я перепробовал все возможные версии драйверов (в том числе org.postgresql:postgresql:9.3-1102-jdbc41) - ничего не помогало. Кто-нибудь использовал его с PostgreSQL?

Вот мой конфигурационный файл:

<bean id="hikariConfig" class="com.zaxxer.hikari.HikariConfig"> 
    <property name="connectionTestQuery" value="SELECT 1" /> 
    <property name="dataSourceClassName" value="org.postgresql.ds.PGSimpleDataSource" /> 
    <property name="maximumPoolSize" value="${jdbc.maximumPoolSize:20}" /> 
    <property name="idleTimeout" value="${jdbc.idleTimeout:600000}" /> 

    <property name="dataSourceProperties"> 
     <props> 
      <prop key="databaseName">vidsearch_test</prop> 
      <prop key="user">${hibernate.connection.username}</prop> 
      <prop key="password">${hibernate.connection.password}</prop> 
     </props> 
    </property> 
</bean> 

<bean id="dataSource" class="com.zaxxer.hikari.HikariDataSource" destroy-method="close"> 
    <constructor-arg ref="hikariConfig"/> 
</bean> 

ответ

2

Не используйте connectionTestQuery. Разрешить HikariCP следовать по умолчанию, используя метод Connection.isValid(). Для этого требуется драйвер JDBC4.

Смежные вопросы