728x90
반응형
Connection Pool 이란 ?
내 정리
즉, DB Connection이 필요할 때 Connection Pool 에서 가져와 사용하도록 한다!
Connection Pool에서 연결 정보를 관리한다!
미리 접속할 수 있는 객체를 생성해 두고필요할 때마다 가져다 쓰는 방식
예를 들어, 많은 사용자가 한꺼번에 접속하게 되는 경우,
Connection 을 사용자 수 만큼 생성하고, close 하면 시스템에 부하를 주는데
Connection Pool은 Connection 수를 제한하고 Connection을 재사용하여
자원고갈을 막을 수 있다.
1. c3p0 사용법
pom.xml 에 의존주입 해주기
<!-- c3p0 - ConnectionPool -->
<dependency>
<groupId>com.mchange</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.5.4</version>
</dependency>
rootContext에 사용할 수 있게 명시해주기
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
<property name="driverClass" value="oracle.jdbc.driver.OracleDriver" />
<property name="jdbcUrl" value="jdbc:oracle:thin:@localhost:1521:xe" />
<property name="user" value="userid" />
<property name="password" value="userpw" />
<property name="maxPoolSize" value="100" />
<property name="maxIdleTime" value="600" />
<property name="idleConnectionTestPeriod" value="300" />
<property name="checkoutTimeout" value="5000" />
</bean>
2. Apach commons dbcp2 사용법
참고링크 : sjh836.tistory.com/148
pom.xml 에 의존주입 해주기
<!-- commons-dbcp -->
<dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp2</artifactId>
<version>2.7.0</version>
</dependency>
rootContext에 사용할 수 있게 명시해주기
<bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
<property name="url" value="jdbc:oracle:thin:@localhost:1521:xe" />
<property name="username" value="userid" />
<property name="password" value="userpw" />
<property name="initialSize" value="30"/>
<property name="maxTotal" value="30"/>
<property name="maxIdle" value="30"/>
<property name="minIdle" value="30"/>
<property name="maxWaitMillis" value="600" />
<property name="testWhileIdle" value="true"/>
<property name="timeBetweenEvictionRunsMillis" value="150000"/>
<property name="numTestsPerEvictionRun" value="4"/>
<property name="minEvictableIdleTimeMillis" value="-1"/>
</bean>
(Maven Repository) 버전 확인하는 링크 : mvnrepository.com/
팀 프로젝트는 c3p0를 사용해보았기에 개인프로젝트에는 apache commons dbcp 를 사용해보기로 하였다!
예전에 apache commons dbcp가 c3p0 보다 성능에서 밀렸지만 dbcp2가 나오면서
성능이 향상되었다고 하여 사용해보기로 하였다!
둘 중 무엇을 사용할 지 고민하며 구글링 했던 링크들...
728x90
반응형
'IT > 개발' 카테고리의 다른 글
플로우차트 무료 생성 사이트 Gliffy (0) | 2021.04.19 |
---|---|
암호화 코드 만들기 (0) | 2021.03.03 |
Spring 환경 자바 웹 개발 pom.xml 설정하기 maven repository 최신 버전 확인하는 방법 (2) | 2021.01.22 |
아파치 톰캣 ( Apache Tomcat ) 다운로드 및 설정 (0) | 2021.01.01 |
Eclipse 에서 Spring 다운 받기 (3) | 2021.01.01 |