2013-05-29 2 views
0

Я использую spring3 и org.apache.commons.dbcp.BasicDataSource и apache tomcat 6.x.Не удалось подключиться к базе данных несколько раз spring-jdbc, commons-dbcp, tomcat

После запуска приложения он работает нормально, но через некоторое время он не может подключиться к базе данных ... при перезагрузке он снова подключается.

ниже конфигурации используется в applicationContect.xml

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close" p:initialSize="5" p:maxActive="15" p:maxIdle="5" p:driverClassName="com.mysql.jdbc.Driver" p:url="jdbc:mysql://<Host>/<schema>?useUnicode=true&amp;" p:username="<uName>" p:password="<pwd>" p:testOnBorrow="true" p:validationQuery="SELECT 1"/> 

     <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"> 
    <property name="dataSource"> 
     <ref bean="dataSource" /> 
     </property> 
</bean> 

Может ли быть какие-либо проблемы с конфигурацией? Кроме того, я не закрываю/не обрабатываю соединения jdbc/resultset, и я предполагаю, что spring-jdbc позаботится об этом.

Я получаю ниже исключение:

org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot get a connection, general error 
+0

Попробуйте добавить параметр minIdle.? –

ответ

0

выполнения хранимых процедур с jdbcTemplate.query терпел неудачу несколько раз.

Вместо я использовал org.springframework.jdbc.core.simple.SimpleJdbcCall для вызова хранимых процедур и оборотный штраф