저는 꽤 큰 문제가있을 수 있습니다.JDBC 연결 풀링 문제
DB 연결을 설정하기 위해 Spring BasicDataSource를 사용하는 Java 웹 응용 프로그램에서 작업하고 있습니다. 로컬에서 응용 프로그램을 테스트하고 있었지만 제대로 작동합니다 ... 그러나 응용 프로그램이 온라인 상태 일 때 어떤 점에서는 DB에 대한 연결이 막혔습니다. 나는 커넥션 풀링에 관해서 조사하는 것이 아니었고, 새로운 HTTP 요청마다 실행 된 질의 중 일부를 가지고 새로운 풀이 생성된다는 것을 알았다. 내가 아는 바와 같이, 풀링은 재사용 가능하도록 도입되었으며, 새로운 DB 액세스가 포함될 때마다 생성되지는 않습니다. 아니면 내가 틀렸어? 응용 프로그램
<bean id="mainController" class="my.management.main.controller.class">
로 전송 된 모든 HTTP 요청을 처리
<bean id="EventDao" class="my.managament.database.class">
<property name="dataSource" ref="dataSource"/>
</bean>
그리고 mainPageController :
<bean id="dataSource" destroy-method="close" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="${jdbc.driverClassName}"/>
<property name="url" value="url"/>
<property name="username" value="username"/>
<property name="password" value="password"/>
<property name="defaultAutoCommit" value="true"/>
<property name="defaultTransactionIsolation" value="1"/>
<property name="initialSize" value="0"/>
<property name="maxActive" value="20"/>
<property name="minIdle" value="0"/>
</bean>
내가 구성한보다 : 여기
내 스프링 소스의 설정입니다나머지 응용 프로그램에서는 gedDatabase()를 사용하여 DB 연결을 획득하고 JDBCTemplate을 통해 선택합니다.
어디서 잘못 되었나요?
감사합니다.
모든 요청에 대해 새 연결 풀이 만들어지고 있음을 알리는 대신 새 연결이 만들어지고 있음을 알리는 것인지 확실하지 않습니다. 그렇지 않다면 이것은 실제로 큰 문제입니다.풀이 요청할 때마다 다시 만들어지고 있다고 생각하는 이유를 포함하도록 질문을 편집하는 것이 좋습니다. –
미안하지만 분명히 생각했습니다 ... 내가 시도한 것은 새로운 풀을 만들지 만 재사용 할 수 있다는 생각으로 단 하나의 연결을 만드는 것입니다. 새로운 하나를 만들 때마다 요청하는 것이 아닙니다. ... 1000 건의 요청에서 수십 개의 풀이 호출되었습니다. – k00
도움이된다면 다음 튜토리얼에 설명 된 내용을 구현했습니다. http://www.vogella.de/articles/SpringJDBC/article.html 누군가가 동일한 문제를 겪고 있으며 문제가 해결되기를 바랍니다. 또는 누군가가이를 구현할 올바른 방법을 보여주는 자습서를 가지고 있다면. – k00