2011-03-31 3 views
1

Spring3, Hibernate, MySQL : 첫 번째 프로젝트를 진행하고 있습니다. 데이터베이스 풀링을 추가하기 위해 다음 코드를 변경하는 방법을 보여줄 수 있습니까? 감사데이터베이스 풀링 - Spring3, Hibernate, MySQL을 어떻게 추가합니까?

의 ApplicationContext - 보안 JDBC.xml

<beans:bean class="org.springframework.jdbc.datasource.DriverManagerDataSource"> 
      <beans:property name="driverClassName" value="${database.driver}" /> 
      <beans:property name="url" value="${database.url}" /> 
      <beans:property name="username" value="${database.user}" /> 
      <beans:property name="password" value="${database.password}" /> 
     </beans:bean> 

jdbc.properties 다시

database.driver=com.mysql.jdbc.Driver 
database.url=jdbc:mysql://127.0.0.1/db_mytest 
database.user=root 
database.password= 
hibernate.dialect=org.hibernate.dialect.MySQL5Dialect 
hibernate.show_sql=true 

덕분에 ....

+0

어떤 앱 서버를 사용하고 있습니까? – sourcedelica

답변

2

commons-dbcp을 사용하시기 바랍니다. jar 파일을 다운로드하여 WEB-INF/lib 디렉토리에 추가해야합니다 (아직 응용 프로그램 서버에 포함되어 있지 않은 경우). 원하는대로 변경할 수있는 기본 매개 변수가있는 새로운 applicationContext.xml입니다.

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" 
    destroy-method="close"> 
    <property name="driverClassName" value="${database.driver}" /> 
    <property name="url" value="${database.url}" /> 
    <property name="username" value="${database.username}" /> 
    <property name="password" value="${database.password}" /> 
    <property name="timeBetweenEvictionRunsMillis" value="300000" /> 
    <property name="numTestsPerEvictionRun" value="6" /> 
    <property name="minEvictableIdleTimeMillis" value="1800000" /> 
    <property name="initialSize" value="3" /> 
    <property name="maxActive" value="10" /> 
    <property name="maxIdle" value="10" /> 
    <property name="maxWait" value="5000" /> 
    <property name="poolPreparedStatements" value="true" /> 
    <property name="maxOpenPreparedStatements" value="100" /> 
</bean> 

희망 사항이 도움이 되었기를 바랍니다.

+0

구성을 사용하면 "연결이 너무 많습니다"라는 오류 메시지가 나타납니다. 연결 설정이 덜 활성인데도 내 구성에서 가져온 것, 퇴거 또는 풀 준비 시간이 될 수 있습니다. 일부는 주석을 달 예정입니다. 지금, 그리고 어느 것이 내가 필요한 config인지를 보자. :) – Isaac

+0

초기 크기는 – Isaac

0

당신은 당신이 당신의 응용 프로그램을 실행중인 지정하지 에. 많은 응용 프로그램 서버에는 사용자가 연결할 수있는 자체 연결 풀링 구현이 있습니다. 과거에 Tomcat의 DBCP를 사용 했으므로 설치가 매우 쉬웠습니다.

3

봄 콩 정의 BoneCP입니다. 그 commons-dbcp에 대한 대안으로 commons-dbcp보다 빠르다.

<!-- BoneCP configuration --> 
<bean id="mainDataSource" class="com.jolbox.bonecp.BoneCPDataSource" destroy-method="close"> 
    <property name="driverClass" value="com.mysql.jdbc.Driver" /> 
    <property name="jdbcUrl" value="jdbc:mysql://127.0.0.1/yourdb" /> 
    <property name="username" value="root"/> 
    <property name="password" value="abcdefgh"/> 
    <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> 
+0

이었다. – SJS

관련 문제