2015-01-30 3 views
0

Как установить размер пула соединений для источника данных DBCP? Кроме того, пул данных по умолчанию пул?Установить размер пула подключений для источника данных DBCP в iBatis

Я попытался установить maxTotal (http://commons.apache.org/proper/commons-dbcp/configuration.html), но он возвращает недопустимую ошибку свойства.

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> 
    <property name="driverClassName" value="${db.driver}"/> 
    <property name="url" value="${db.url}"/> 
    <property name="username" value="${db.username}"/> 
    <property name="password" value="${db.password}"/> 
    <property name="poolPreparedStatements" value="false"/> 
    <property name="testWhileIdle" value="true"/> 
    <property name="testOnBorrow" value="true"/> 
    <property name="validationQuery" value="SELECT 1 FROM DUAL"/>  
    <property name="timeBetweenEvictionRunsMillis" value="30000"/> 
    <property name="maxTotal" value="1"/>  
</bean> 


org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class pat 
h resource [META-INF/spring/base-gateway.xml]: Error setting property values; nested exception is org.springframework.be 
ans.NotWritablePropertyException: Invalid property 'maxTotal' of bean class [org.apache.commons.dbcp.BasicDataSource]: B 
ean property 'maxTotal' 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.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCap 
ableBeanFactory.java:1361) 
     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBea 
nFactory.java:1086) 
     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBea 
nFactory.java:517) 
     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanF 
actory.java:456) 
     at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291) 
     at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.jav 
a:222) 
     at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288) 
     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190) 
     at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFac 
tory.java:580) 
     at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationCo 
ntext.java:895) 
     at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425) 
     at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139) 
     at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83) 
     at sf.av.core.gateway.GenericGateway.main(GenericGateway.java:23) 
Caused by: org.springframework.beans.NotWritablePropertyException: Invalid property 'maxTotal' of bean class [org.apache 
.commons.dbcp.BasicDataSource]: Bean property 'maxTotal' is not writable or has an invalid setter method. Does the param 
eter type of the setter match the return type of the getter? 
     at org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:1024) 
     at org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:900) 
     at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:76) 
     at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:58) 
     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCap 
ableBeanFactory.java:1358) 
     ... 13 more 

ответ

1

Вы, скорее всего, несоответствие между версией ГСБД баночки вы используете и документацию конфигурации, for example:

Пользователи также должны знать, что некоторые параметры конфигурации (например, maxActive к maxTotal) были переименованы, чтобы выровнять их с новыми именами, используемых Commons Бассейн 2.

BasicDataSource ли класс из кувшина, который вы используете имеют maxTotal сеттер на него или нет?

+0

Является ли пул данных по умолчанию пул? – mauryat

+1

@ user640378: Источник данных по умолчанию, то есть iBatis? iBatis/myBatis имеет [три поддерживаемых источника данных из коробки] (https://mybatis.github.io/mybatis-3/configuration.html): UNPOOLED, POOLED и JNDI. Если вы uisng iBatis с весной, и вы даете iBatis источник данных, то это будет диктовать, если источник данных объединяется или нет. Вы используете файл org.apache.commons.dbcp.BasicDataSource, который объединен. – Bogdan

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

  • Нет связанных вопросов^_^