티스토리 툴바


블로그 이미지
카라크라스

Leon.Kim의 공부하는 블로그입니다. mail - kalaklas@gmail.com twitter - @kalaklas

Rss feed Tistory
Web/Spring 2009/10/15 14:06

Spring IoC를 이용한 간단한 Connection Pool 조작


Spring IoC를 이용한 간단한 Connection Pool 조작

Spring IoC(Dependency Injection)을 이용하여 간단히 Connection Pool 조작

Apache dbcp


파일 : settings.xml




파일 : DataSourceSample.java

import java.sql.Connection;

import org.apache.commons.dbcp.BasicDataSource;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;



public class DataSourceSample{

public static void main(String[] args) throws Exception {

Resource resource = new ClassPathResource("settings.xml");
XmlBeanFactory bf = new XmlBeanFactory(resource);
BasicDataSource bds = (BasicDataSource) bf.getBean("dataSource");

int i = 0;
while(true){
Connection conn = bds.getConnection();
System.out.println(i++);
}
}
}






Spring에서 제공하는 IoC의 개념을 기본적인 부분을 이용하여 객체간 의존성을 배제하였다.

Settings.xml에 BasicDataSource를 설정 파라미터들과 함께 정의하고,
DataSourceSample에서 XmlBeanFactory를 이용하여 객체를 주입받았다.
Inversion of Control(Dependency Injection)


간단히 Spring, Tomcat에서 제공하는 Configuration의 조작으로 간단히 Connection Pool을
설정할수 잇으나, 궁극적으로는 iBATIS의 DB Connection과 원리에 근접해보고자
위에서 DataSource를 이용하여 일부러 Connection Pool을 조작해보았다.

JDBC -> DataSource -> DataSource with Configuration -> Useful Framework




관련자료
http://commons.apache.org/dbcp/ //Apache Commons
http://commons.apache.org/dbcp/apidocs/index.html //dbcp API Reference
http://commons.apache.org/downloads/download_dbcp.cgi // dbcp API Jar
http://svn.apache.org/viewvc/commons/proper/dbcp/trunk/doc/ // Example Sources
TOTAL 19,751 TODAY 3