bean类的属性'connectionProperties'无效[org.apache.commons.dbcp.BasicDataSource]

时间:2014-05-10 09:26:05

标签: java jdbc apache-commons-dbcp

初始化BasicDataSource时出现此异常。我想将自定义连接属性传递给dataSource。

我的配置是:

                               

Caused by: org.springframework.beans.NotWritablePropertyException: Invalid property 'connectionProperties' of bean class [org.apache.commons.dbcp.BasicDataSource]: Bean property 'connectionProperties' 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.setPropertyValue(BeanWrapperImpl.java:1042)
    at org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:902)
    at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:75)
    at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:57)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1420)

1 个答案:

答案 0 :(得分:1)

我使用this post from spring forum来解决问题。

添加此bean解决了我的问题。

<bean
    class="org.springframework.beans.factory.config.MethodInvokingFactoryBean"
    lazy-init="false">
    <property name="targetObject" ref="csdbDataSource" />
    <property name="targetMethod" value="addConnectionProperty" />
    <property name="arguments">
        <list>
            <value>defaultRowPrefetch</value>
            <value>1</value>
        </list>
    </property>
</bean>