* Connection Pool 사용 목적

커넥션풀(Connection Pool)의 개요
객체의 생성작업은 많은 비용을 요구
데이터베이스 커넥션은 데이터베이스에 한번 연결하기 위한 작업
작업들이 매번 새로운 데이터베이스 연결에 대한 요청이 들어올 때 마다 수행해야 한다면 많은 부담
커넥션 풀(connection pools)은 끊임없이 생성되는 커넥션(connection)의 문제 해결이 목적.

* Connection Pool 처리 과정

사용자 삽입 이미지

커넥션 풀 처리과정



* Connection Pool 을 사용하기위한 3가지 파일

 - commons-collections-3.1.zip
 - commons-dbcp-1.2.1.zip
 - commons-pool-1.2.zip


위파일을 압축해제후 \웹어플리케이션 폴더\WEB-INF\lib폴더 로 위치.

수정할 2가지 톰캣설정파일

* server.xml
* web.xml


server.xml 파일 편집
1)
<GlobalNamingResources>
</GlobalNamingResources>태그 안에
<Resource>태그기술

* ex)
<Resource name="jdbc/jsptest"
    auth="Container"     type="javax.sql.DataSource"
   driverClassName="com.mysql.jdbc.Driver"
   loginTimeout="10"   maxWait="5000"
   username="jspid"  password="jsppass"
   testOnBorrow="true"
   url="jdbc:mysql://localhost:3306/jsptest"
/> 

2)
<Host>
</Host>태그 안에
<Context>태그기술

* ex)
<Context path="/study" docBase=“...\webapps\study" debug="1" crossContext="true">
<Resource name="jdbc/jsptest" auth="Container"
  type="javax.sql.DataSource"
  driverClassName="com.mysql.jdbc.Driver"
  loginTimeout="10" maxWait="5000"
  username="jspid" 398      password="jsppass"
  testOnBorrow="true"
  url="jdbc:mysql://localhost:3306/jsptest" />
</Context>


web.xml 파일 편집

<resource-ref>태그를 기술

* ex)
<resource-ref>
   <description>jsptest db</description>
   <res-ref-name>jdbc/jsptest</res-ref-name>
   <res-type>javax.sql.DataSource</res-type>
   <res-auth>Container</res-auth>
</resource-ref>




Posted by ilus


,