powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Зависание Java database connection pool DBCP(org.apache.commons.dbcp)
2 сообщений из 2, страница 1 из 1
Зависание Java database connection pool DBCP(org.apache.commons.dbcp)
    #38570612
Lisichkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день!
Программа использующая технологию Spring JDBC, в качестве пула подключения к БД, использовала apache DBCP:
datasource-context.xml:
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:context="http://www.springframework.org/schema/context"	
	xsi:schemaLocation="http://www.springframework.org/schema/beans 
		http://www.springframework.org/schema/beans/spring-beans.xsd
		http://www.springframework.org/schema/context
		http://www.springframework.org/schema/context/spring-context-3.0.xsd">

    <context:property-placeholder location="classpath:jdbc.properties"/>
	<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
    	<property name="driverClassName" value="${jdbc.driverClassName}"/>
    	<property name="url" value="${jdbc.url}"/>
    	<property name="username" value="${jdbc.username}"/>
    	<property name="password" value="${jdbc.password}"/>
	</bean>
	
    <bean id="OutrunDao" class="ru.FoxGSM.IOutruns.dao.JdbcOutrunDao">
        <property name="dataSource" ref="dataSource"/>
    </bean>
			
</beans>


При выполнении простого запроса типа:
Код: java
1.
List<City> list = jdbcTemplate.query(CITY_SQL, new CityMapper());


Программа после 3-4 запроса наглухо зависала без сообщения об ошибки. :(

Перешел на BoneCP
datasource-context.xml:
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:context="http://www.springframework.org/schema/context"	
	xsi:schemaLocation="http://www.springframework.org/schema/beans 
		http://www.springframework.org/schema/beans/spring-beans.xsd
		http://www.springframework.org/schema/context
		http://www.springframework.org/schema/context/spring-context-3.0.xsd">

    <context:property-placeholder location="classpath:jdbc.properties"/>
	<!--<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">-->
	<!--<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">-->
	<bean id="dataSource" class="com.jolbox.bonecp.BoneCPDataSource" destroy-method="close">
    	<property name="driverClass" value="${jdbc.driverClassName}"/>
    	<property name="jdbcUrl" value="${jdbc.url}"/>
    	<property name="username" value="${jdbc.username}"/>
    	<property name="password" value="${jdbc.password}"/>
		<property name="idleConnectionTestPeriod" value="60"/>
   		<property name="idleMaxAge" value="240"/>
   		<property name="maxConnectionsPerPartition" value="30"/>
   		<property name="minConnectionsPerPartition" value="10"/>
   		<property name="partitionCount" value="3"/>
   		<property name="acquireIncrement" value="5"/>
   		<property name="statementsCacheSize" value="100"/>
   		<property name="releaseHelperThreads" value="3"/>    	
	</bean>
	
    <bean id="OutrunDao" class="ru.FoxGSM.IOutruns.dao.JdbcOutrunDao">
        <property name="dataSource" ref="dataSource"/>
    </bean>
			
</beans>


все работает…
Вопрос: Не ужели apache DBCP такой глючный? Или я просто не умею его готовить???
P.S. jdbc.driverClassName = com.microsoft.sqlserver.jdbc.SQLServerDriver (ver, 4.0)
...
Рейтинг: 0 / 0
Зависание Java database connection pool DBCP(org.apache.commons.dbcp)
    #38570632
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Отформатируйте нормально отступы в XML. Не возможно же читать.
Научитесь снимать и анализировать дамп потоков, когда они зависают.
Нет, DBCP не такой глючный, чтобы проблемы были очевидны на тестовых примерах. Возможно где-то неочевидным образом утекают соединения. Зависание, обычно, происходит, когда все соединения из пула были взяты, он ни одно из них не вернули на место. Определить что именно произошло можно по дампу зависшего потока.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Зависание Java database connection pool DBCP(org.apache.commons.dbcp)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]