Database와 연동된 작업에 있어서 Connection객체를 얻어오는 프로세스는
다른 작업에 비하여 많은 리소스가 소모된다.
DB에 질의를 날릴때마다 Connection객체를 일일이 얻어오는 프로세스는 엄청난 리소스 낭비이며,
Application의 Performance를 보장하기 힘들다.
때문에, Connection Pool이 필요하다. (Connection Pool에 대한 내용은 구글링~!!)
iBATIS, Spring등 프레임웍에서 간단히 Configuration하여 Pool을 관리할수도 있으나,
그에 앞서 기본적인 DataSource를 이용한 Pool의 관리에 대하여 곱씹어 보고자,
BasicDataSource를 이용한 Pool의 수동 관리를 간단히 수행해 보았다.
<<초보자가 작성한 Sample이니 . . . 과신은 금물입니다. . .>>
package com.datasource.test;
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;
import org.apache.commons.dbcp.BasicDataSource;
public class DataSourceTest {
public static void main(String[] args) {
String driverClassName="org.apache.derby.jdbc.ClientDriver";
String url="jdbc:derby://localhost/test";
String username="APP";
String password="APP";
BasicDataSource bds = new BasicDataSource();
bds.setDriverClassName(driverClassName);
bds.setUrl(url);
bds.setUsername(username);
bds.setPassword(password);
//bds.setMaxActive(10); // 이렇게 하면 pool 10개의 Connection Pool을 허용한다
try {
int i=0;
while(true){
Connection conn = bds.getConnection();
System.out.println(i++);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
글
Etc 2009/10/15 14:06Derby의 Connection Pool을 DataSource를 이용하여 Handling
Derby의 Connection Pool을 DataSource를 이용하여 Handling
'Etc' 카테고리의 다른 글
| Derby의 Connection Pool을 DataSource를 이용하여 Handling (0) | 2009/10/15 |
|---|---|
| Eclipse Derby Plugin 설치 (0) | 2009/10/15 |
| Framework 와 Tool-kit (0) | 2009/10/15 |
RECENT COMMENT