Lben
Lben

Reputation: 83

Why hikaricp gives me Method not found: setUrl at startup?

I am developing a GWT app without Maven nor Spring, but I want to use HikariCP as my connection pool so I downloaded HikariCP-2.2.4.jar from Maven's Central Repository along with pgjdbc-ng-0.3-complete.jar for my postgresql driver; finally I have updated my hibernate libraries from 4.1 to 4.3.

I am using the following HikariCP Properties on my hibernate.cfg.xml

<property name="hibernate.connection.provider_class">com.zaxxer.hikari.hibernate.HikariConnectionProvider</property>
<property name="hibernate.hikari.dataSourceClassName">com.impossibl.postgres.jdbc.PGDataSource</property>
<property name="hibernate.hikari.dataSource.user">user</property>
<property name="hibernate.hikari.dataSource.password">pass</property>
<property name="hibernate.hikari.maximumPoolSize">10</property>
<property name="hibernate.hikari.dataSource.url">jdbc:postgresql://localhost:5432/db</property>

Now, when i start the application it gives me the next Exception:

org.hibernate.HibernateException: java.lang.RuntimeException: java.beans.IntrospectionException: Method not found: setUrl at com.zaxxer.hikari.hibernate.HikariConnectionProvider.configure(HikariConnectionProvider.java:84) at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:111) at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:234) at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:206) at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.buildJdbcConnectionAccess(JdbcServicesImpl.java:260) at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:94) at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:111) at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:234) at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:206) at org.hibernate.cfg.Configuration.buildTypeRegistrations(Configuration.java:1887) at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1845) at org.persistencias.HibernateSessionFactory.(HibernateSessionFactory.java:43) at org.persistencias.BaseHibernateDAO.getSession(BaseHibernateDAO.java:14)

. . . Caused by: java.lang.RuntimeException: java.beans.IntrospectionException: Method not found: setUrl at com.zaxxer.hikari.util.PropertyBeanSetter.setProperty(PropertyBeanSetter.java:129) at com.zaxxer.hikari.util.PropertyBeanSetter.setTargetFromProperties(PropertyBeanSetter.java:58) at com.zaxxer.hikari.util.PoolUtilities.initializeDataSource(PoolUtilities.java:134) at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:142) at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:109) at com.zaxxer.hikari.HikariDataSource.(HikariDataSource.java:78) at com.zaxxer.hikari.hibernate.HikariConnectionProvider.configure(HikariConnectionProvider.java:80) ... 49 more Caused by: java.beans.IntrospectionException: Method not found: setUrl at java.beans.PropertyDescriptor.(PropertyDescriptor.java:110) at com.zaxxer.hikari.util.PropertyBeanSetter.setProperty(PropertyBeanSetter.java:120) ... 55 more

I have searched here on stackoverflow and googled but have not found anything so far, can anyone give me a hint with this?

Thank you!

Upvotes: 3

Views: 2248

Answers (1)

brettw
brettw

Reputation: 11114

The pgjdbc-ng PGDataSource does not have a setter for a url property. The URL is "composed" internally by pgjdbc-ng. You need to setup the DataSource using the individual properties:

hibernate.hikari.dataSource.host=localhost hibernate.hikari.dataSource.port=5432 hibernate.hikari.dataSource.database=db

Upvotes: 4

Related Questions