티스토리 뷰
Tomcat DB Connection Pool 설정하는 법에 대해서 알아보도록 하겠습니다.
연동 환경
Tomcat : 7.0
MySQL : 5.5
step1. mysql-connector-java download
http://dev.mysql.com/downloads/connector/j/ 접속하여 connector 다운로드
step 2. 압축해제 및 복사
$ tar xvfz mysql-connector-java-5.1.21
$ cp mysql-connector-java-5.1.21-bin.jar /usr/local/apache-tomcat-7.0.29/lib/
step 3. Tomcat DBCP 설정
$CATALINA_HOME/conf/context.xml
<!--
maxActive : 최대 동시 대여 가능 커넥션수
maxIdle : 최소 보유 커넥션수
maxWait : 최대 대기 시간 -> 넘겼는데도 빈 커넥션이 없으면 Exception (1=5초, 180=15분)
removeAbandoned : (true) 대여시간 초과했는데 반납 안된 커넥션 처리
removeAbandonedTimeout : 대여시간 설정 ( 1=5초 60=5분 )
logAbandoned : (true) 삭제시에 로그를 남길 것인가?
validationQuery : 커넥션이 살아 있는지 체크 하는 쿼리로 오라클의 경우에는 "select 1 from dual", MySQL의 경우에는 "select 1"
testWhileIdle : (true) 커넥션에 아무런 데이터 송수신이 없을 경우 테스트를 할지 여부를 결정합니다.
timeBetweenEvictionRunsMillis : 커넥션이 쉬고 있을 때 커넥션 체크 쿼리를 실행하는 시간 간격을 설정합니다. 밀리 세컨드로 설정하며, 저보통 60000(1분)을 줍니다.
-->
<Resource name="jdbc/rockseaDB"
auth="Container"
type="javax.sql.DataSource"
factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
testWhileIdle="true"
testOnBorrow="true"
testOnReturn="false"
validationQuery="SELECT 1"
validationInterval="30000"
timeBetweenEvictionRunsMillis="30000"
maxActive="100"
minIdle="10"
maxWait="10000"
initialSize="10"
removeAbandonedTimeout="60"
removeAbandoned="true"
logAbandoned="true"
minEvictableIdleTimeMillis="30000"
jmxEnabled="true"
jdbcInterceptors=
"org.apache.tomcat.jdbc.pool.interceptor.ConnectionState;org.apache.tomcat.jdbc.pool.interceptor.StatementFinalizer"
username="rocksea"
password="1234"
driverClassName="com.mysql.jdbc.Driver"
poolPreparedStatements="true"
url="jdbc:mysql://localhost:3306/rocksea"/>
step 4. DB 연동 Test Code 작성
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="java.sql.*"%>
<%@ page import="javax.sql.*"%>
<%@ page import="javax.naming.*"%>
<%
Connection conn=null;
try{
Context init = new InitialContext();
DataSource ds = (DataSource) init.lookup("java:comp/env/jdbc/rockseaDB");
conn = ds.getConnection();
out.println("Success!!!");
}catch(Exception e){
out.println("Failure!!!");
e.printStackTrace();
}
%>
결과화면
이상으로 tomcat + mysql 연동 포스팅을 마치도록 하겠습니다.
by rocksea.
'Developer' 카테고리의 다른 글
[ eclipse ] eclipse juno + maven, M2E and EGit 문제점 해결방안 (0) | 2012.08.29 |
---|---|
[ nginx ] ab를 이용한 성능테스트 (0) | 2012.08.17 |
[mysql] 5.5 설치 (2) | 2012.08.07 |
[ cmake ] Installation guide (0) | 2012.08.07 |
[ nginx + tomcat ] reverse proxy 연동하기 ( windows ver. ) (0) | 2012.07.27 |
- Total
- Today
- Yesterday
- Python
- Business English
- 베트남
- 비지니스 영어
- 도덕경
- 여행
- 영문법
- it
- hadoop
- PostgreSQL
- Python Django
- redis
- 해외여행
- 다낭
- 대명사 구문
- mongoDB
- 가정법
- hdfs
- k8s
- nodejs
- 조동사
- 비교구문
- maven
- 영작
- JBOSS
- ubuntu
- 스페인 여행
- AWS
- memcached
- NGINX
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |