spring의 DriverManagerDataSource 사용
- DriverManagerDataSource 도 POOL 처리가 안되는 듯 함
- 표준 DataSource 인터페이스의 구현체
- 매번 새로운 Connection을 반환
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>
<property name="URL" value="jdbc:oracle:thin:@<hostname>:<port_num>:<SID>"/>
<property name="username" value="dummy_user"/>
<property name="password" value="dummy_pwd"/>
</bean>
spring의 SimpleDriverDataSource 사용
<bean id="dataSource" class="org.springframework.jdbc.datasource.SimpleDriverDataSource">
<property name="driverClass" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/db_something" />
<property name="username" value="myusername" />
<property name="password" value="mypassword" />
</bean>
아파치의 common dbcp 사용
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/db_something" />
<property name="username" value="myusername" />
<property name="password" value="mypassword" />
</bean>
속성
maxActive : 커넥션 풀에서 최대 active 가능한 숫자
maxIdle : 커넥션 풀에 유지될 수 있는 idle 상태 커넥션 최대 갯수(기본값 8개)
maxIdle 이상의 Connection은 close 시킨다고 함
pool에 Connection 이 유지되는 갯수는 maxIdle 를 보면 될 듯 함
참고 url : http://idkbj.tistory.com/91
C3P0 사용
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
<property name="driverClass" value="${jdbc.driverClassName}"/>
<property name="jdbcUrl" value="${jdbc.url}"/>
<property name="user" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</bean>
SmartDataSource
AbstractDataSource
SingleConnectionDataSource
TransactionAwareDataSourceProxy
DataSourceTransactionManager
NativeJdbcExtractor
참고 url
http://houki.tistory.com/41