hibernate hikaricp 数据源
hibernate hikaricp datasource
我尝试将我的 webapp 的连接池从 c3p0 更改为 hikaricp。
这是我的配置。
<bean id="dataSource"
class="org.hibernate.hikaricp.internal.HikariCPConnectionProvider">
<property name="dataSourceClassName" value="${hikari.dataSourceClassName}" />
<property name="maximumPoolSize" value="${hikari.maximumPoolSize}" />
<property name="maxLifetime" value="${hikari.maxLifetime}" />
<property name="idleTimeout" value="${hikari.idleTimeout}" />
<property name="dataSourceProperties">
<props>
<prop key="url">${jdbc.url}</prop>
<prop key="user">${jdbc.username}</prop>
<prop key="password">${jdbc.password}</prop>
</props>
</property>
</bean>
我收到一个错误。
Caused by: org.springframework.beans.NotWritablePropertyException: Invalid property 'dataSourceClassName' of bean class [org.hibernate.hikaricp.internal.HikariCPConnectionProvider]: Bean property 'dataSourceClassName' is not writable or has an invalid setter method. Does the parameter type of the setter match the return type of the getter?
at org.springframework.beans.BeanWrapperImpl.createNotWritablePropertyException(BeanWrapperImpl.java:231)
at org.springframework.beans.AbstractNestablePropertyAccessor.setPropertyValue(AbstractNestablePropertyAccessor.java:423)
at org.springframework.beans.AbstractNestablePropertyAccessor.setPropertyValue(AbstractNestablePropertyAccessor.java:280)
at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:95)
at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:75)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1514)
... 32 more
在此先感谢您的帮助。
org.hibernate.hikaricp.internal.HikariCPConnectionProvider
不是 javax.sql.DataSource
。它是 Hibernate 的内部组件。
更改您的配置以使用 com.zaxxer.hikari.HikariDataSource
而不是 org.hibernate.hikaricp.internal.HikariCPConnectionProvider
我尝试将我的 webapp 的连接池从 c3p0 更改为 hikaricp。
这是我的配置。
<bean id="dataSource"
class="org.hibernate.hikaricp.internal.HikariCPConnectionProvider">
<property name="dataSourceClassName" value="${hikari.dataSourceClassName}" />
<property name="maximumPoolSize" value="${hikari.maximumPoolSize}" />
<property name="maxLifetime" value="${hikari.maxLifetime}" />
<property name="idleTimeout" value="${hikari.idleTimeout}" />
<property name="dataSourceProperties">
<props>
<prop key="url">${jdbc.url}</prop>
<prop key="user">${jdbc.username}</prop>
<prop key="password">${jdbc.password}</prop>
</props>
</property>
</bean>
我收到一个错误。
Caused by: org.springframework.beans.NotWritablePropertyException: Invalid property 'dataSourceClassName' of bean class [org.hibernate.hikaricp.internal.HikariCPConnectionProvider]: Bean property 'dataSourceClassName' is not writable or has an invalid setter method. Does the parameter type of the setter match the return type of the getter?
at org.springframework.beans.BeanWrapperImpl.createNotWritablePropertyException(BeanWrapperImpl.java:231)
at org.springframework.beans.AbstractNestablePropertyAccessor.setPropertyValue(AbstractNestablePropertyAccessor.java:423)
at org.springframework.beans.AbstractNestablePropertyAccessor.setPropertyValue(AbstractNestablePropertyAccessor.java:280)
at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:95)
at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:75)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1514)
... 32 more
在此先感谢您的帮助。
org.hibernate.hikaricp.internal.HikariCPConnectionProvider
不是 javax.sql.DataSource
。它是 Hibernate 的内部组件。
更改您的配置以使用 com.zaxxer.hikari.HikariDataSource
而不是 org.hibernate.hikaricp.internal.HikariCPConnectionProvider