ݺߣ

ݺߣShare a Scribd company logo
.Special M
{톰캣: T o m c a t }
JDBC Connection Pool 
DB 연동 예제 
DB 연동 설정값 
JNDI Lookup CHAPTER #6 
DB 연 동
JDBC Connection Pool
J V M 
JDBC Connection Pool 
D B 
L I S T E N E R 
C O N N E C T I O N P O O L
J V M 
JDBC Connection Pool 
D B 
L I S T E N E R
<Resource name="jdbc/test" 
auth="Container" 
type="javax.sql.DataSource" 
username="oracle" 
password="oracle" 
driverClassName="oracle.jdbc.driver.OracleDriver" 
url="jdbc:oracle:thin:@address:1521:SID" 
removeAbandoned="true" 
removeAbandonedTimeout="60" 
logAbandoned="true" 
maxActive="25" 
maxIdle="10" 
maxWait="-1" 
/> 
context.xml 
JDBC Connection Pool
DB 연동 예제
JDBC Driver 
s e t e n v 
l i b 
DB 연동 예제 
#JDBC Driver Classpath 
CLASSPATH=/app/lib/jdbc.jar 
CATALINA_HOME/common/lib/jdbc.jar or 
CATALINA_HOME/shared/lib/jdbc.jar 
(tomcat 5.5) 
! 
CATALINA_HOME/lib/jdbc.jar 
(tomcat 6+)
M y S Q L 
/ 
C o n n e c t o r / J 
DB 연동 예제 
<Resource name="jdbc/test" 
auth="Container" 
type="javax.sql.DataSource" 
username="javauser" 
password="javadude" 
driverClassName="com.mysql.jdbc.Driver" 
url="jdbc:mysql://ipaddress:3306/javatest" 
maxActive="25" 
maxIdle="10" 
maxWait="-1" 
/>
<Resource name="jdbc/test" 
auth="Container" 
type="javax.sql.DataSource" 
username="oracle" 
password="oracle" 
driverClassName="oracle.jdbc.driver.OracleDriver" 
url="jdbc:oracle:thin:@ipaddress:1521:SID" 
maxActive="25" 
maxIdle="10" 
maxWait="-1" 
/> 
O R A C L E 
D a t a B a s e 
/ 
c l a s s e s 1 2 . j a r 
o j d b c # . j a r 
DB 연동 예제
P o s t g r e S Q L 
/ 
J D B C # 
DB 연동 예제 
<Resource name="jdbc/test" 
auth="Container" 
type="javax.sql.DataSource" 
username="myuser" 
password="mypasswd" 
driverClassName="org.postgresql.Driver" 
url="jdbc:postgresql://ipaddress:5432/mydb" 
maxActive="25" 
maxIdle="10" 
maxWait="-1" 
/>
DB 연동 설정값
A T T R I B U T E D E S C R I P T I O N D E F A U L T 
m a x A c t i v e 최 대 C o n n e c t i o n 값 1 0 0 
m a x I d l e I d l e C o n n e c t i o n 최 대 허 용 치 m a x A c t i v e 
m i n I d l e I d l e C o n n e c t i o n 최 소 허 용 치 i n i t i a l S i z e 
i n i t i a l S i z e C o n n e c t i o n P o o l 의 최 초 생 성 개 수 1 0 
m a x W a i t C o n n e c t i o n 을 얻 기 위 해 대 기 하 는 최 대 시 간 3 0 0 0 0 ( m s ) 
DB 연동 설정값 
http://tomcat.apache.org/tomcat-7.0-doc/jdbc-pool.html
A T T R I B U T E D E S C R I P T I O N D E F A U L T 
r e m o v e A b a n d o n e d 특 정 시 간 동 안 사 용 하 지 않 는 C o n n e c t i o n 반 환 f a l s e 
r e m o v e A b a n d o n e d T i m e o u t r e m o v e A b a n d o n e d 가 동 작 하 는 데 소 요 되 는 시 간 6 0 ( s ) 
l o g A b a n d o n e d C o n n e c t i o n 이 r e m o v e 될 때 l o g 에 기 록 f a l s e 
t e s t O n B o r r o w g e t C o n n e c t i o n ( ) 이 수 행 될 때 유 효 성 테 스 트 f a l s e 
v a l i d a t i o n Q u e r y 
DB 연동 설정값 
테 스 트 를 위 한 쿼 리 
S E L E T 1 ( m y s q l / M S S q l ) 
s e l e c t 1 f r o m d u a l ( o r a c l e ) 
n u l l 
http://tomcat.apache.org/tomcat-7.0-doc/jdbc-pool.html
t i m e B e t w e e n E v i c t i o n R u n s M i l l i s > 0 
& & r e m o v e A b a n d o n e d = t r u e & & r e m o v e A b a n d o n e d T i m e o u t > 0 
& & s u s p e c t T i m e o u t > 0 
& & t e s t W h i l e I d l e = t r u e & & v a l i d a t i o n Q u e r y ! = n u l l 
& & m i n E n i c t a b l e I d l e T i m e M i l l i s > 0 
DB 연동 설정값
JNDI Lookup
context.xml >> 
! 
<Resource name="jdbc/test" 
auth="Container" 
type="javax.sql.DataSource" 
username="oracle" 
password="oracle" 
driverClassName="oracle.jdbc.driver.OracleDriver" 
url="jdbc:oracle:thin:@address:1521:SID" 
/> 
web.xml >> 
! 
<resource-ref> 
<res-ref-name>jdbc/test</res-ref-name> 
<res-type>javax.sql.DataSource</res-type> 
<res-auth>Container</res-auth> 
</resource-ref> 
java Source >> 
! 
ds = ctx.lookup("java:comp/env/jdbc/test"); 
JNDI Lookup
톰캣 #06-db 연동
JDBC Connection Pool 
Tomcat Resource 
Configure DataSource 
JNDI Lookup 
{M.Special : DB 연동} 끝
N E X T 
호 스 트
CategMoGryGM

More Related Content

Viewers also liked (20)

톰캣 운영 노하우
톰캣 운영 노하우톰캣 운영 노하우
톰캣 운영 노하우
jieunsys
톰캣 #02-설치환경
톰캣 #02-설치환경톰캣 #02-설치환경
톰캣 #02-설치환경
GyuSeok Lee
톰캣 #05-배치
톰캣 #05-배치톰캣 #05-배치
톰캣 #05-배치
GyuSeok Lee
톰캣 #09-쓰레드
톰캣 #09-쓰레드톰캣 #09-쓰레드
톰캣 #09-쓰레드
GyuSeok Lee
톰캣 #08-웹서버 연동
톰캣 #08-웹서버 연동톰캣 #08-웹서버 연동
톰캣 #08-웹서버 연동
GyuSeok Lee
JVM과 톰캣 튜닝
JVM과 톰캣 튜닝JVM과 톰캣 튜닝
JVM과 톰캣 튜닝
Mungyu Choi
톰캣 #01-소개
톰캣 #01-소개톰캣 #01-소개
톰캣 #01-소개
GyuSeok Lee
오픈 소스 프로젝트 참여를 통한 개발자 커리어 관리
오픈 소스 프로젝트 참여를 통한 개발자 커리어 관리오픈 소스 프로젝트 참여를 통한 개발자 커리어 관리
오픈 소스 프로젝트 참여를 통한 개발자 커리어 관리
trustinlee
JBoss Middleware 및 Remoting 프로젝트 소개
JBoss Middleware 및 Remoting 프로젝트 소개JBoss Middleware 및 Remoting 프로젝트 소개
JBoss Middleware 및 Remoting 프로젝트 소개
trustinlee
톰캣 #04-환경설정
톰캣 #04-환경설정톰캣 #04-환경설정
톰캣 #04-환경설정
GyuSeok Lee
톰캣 #05+b-root-deployment
톰캣 #05+b-root-deployment톰캣 #05+b-root-deployment
톰캣 #05+b-root-deployment
GyuSeok Lee
톰캣 #05+a-배치-parallel deployment
톰캣 #05+a-배치-parallel deployment톰캣 #05+a-배치-parallel deployment
톰캣 #05+a-배치-parallel deployment
GyuSeok Lee
프로그래밍 패러다임의 진화 및 Spring의 금융권 적용
프로그래밍 패러다임의 진화 및 Spring의 금융권 적용프로그래밍 패러다임의 진화 및 Spring의 금융권 적용
프로그래밍 패러다임의 진화 및 Spring의 금융권 적용
중선 곽
머큐리얼저장소추가 사용자추가 권한추가
머큐리얼저장소추가 사용자추가 권한추가머큐리얼저장소추가 사용자추가 권한추가
머큐리얼저장소추가 사용자추가 권한추가
ETRIBE_STG
리눅스에 대하여
리눅스에 대하여리눅스에 대하여
리눅스에 대하여
ETRIBE_STG
Objc literals
Objc literalsObjc literals
Objc literals
ETRIBE_STG
표기법을 아시나요?
표기법을 아시나요?표기법을 아시나요?
표기법을 아시나요?
ETRIBE_STG
Android version
Android version Android version
Android version
ETRIBE_STG
Wix - 웹 홈페이지 제작
Wix - 웹 홈페이지 제작Wix - 웹 홈페이지 제작
Wix - 웹 홈페이지 제작
ETRIBE_STG
톰캣 운영 노하우
톰캣 운영 노하우톰캣 운영 노하우
톰캣 운영 노하우
jieunsys
톰캣 #02-설치환경
톰캣 #02-설치환경톰캣 #02-설치환경
톰캣 #02-설치환경
GyuSeok Lee
톰캣 #05-배치
톰캣 #05-배치톰캣 #05-배치
톰캣 #05-배치
GyuSeok Lee
톰캣 #09-쓰레드
톰캣 #09-쓰레드톰캣 #09-쓰레드
톰캣 #09-쓰레드
GyuSeok Lee
톰캣 #08-웹서버 연동
톰캣 #08-웹서버 연동톰캣 #08-웹서버 연동
톰캣 #08-웹서버 연동
GyuSeok Lee
톰캣 #01-소개
톰캣 #01-소개톰캣 #01-소개
톰캣 #01-소개
GyuSeok Lee
오픈 소스 프로젝트 참여를 통한 개발자 커리어 관리
오픈 소스 프로젝트 참여를 통한 개발자 커리어 관리오픈 소스 프로젝트 참여를 통한 개발자 커리어 관리
오픈 소스 프로젝트 참여를 통한 개발자 커리어 관리
trustinlee
JBoss Middleware 및 Remoting 프로젝트 소개
JBoss Middleware 및 Remoting 프로젝트 소개JBoss Middleware 및 Remoting 프로젝트 소개
JBoss Middleware 및 Remoting 프로젝트 소개
trustinlee
톰캣 #04-환경설정
톰캣 #04-환경설정톰캣 #04-환경설정
톰캣 #04-환경설정
GyuSeok Lee
톰캣 #05+b-root-deployment
톰캣 #05+b-root-deployment톰캣 #05+b-root-deployment
톰캣 #05+b-root-deployment
GyuSeok Lee
톰캣 #05+a-배치-parallel deployment
톰캣 #05+a-배치-parallel deployment톰캣 #05+a-배치-parallel deployment
톰캣 #05+a-배치-parallel deployment
GyuSeok Lee
프로그래밍 패러다임의 진화 및 Spring의 금융권 적용
프로그래밍 패러다임의 진화 및 Spring의 금융권 적용프로그래밍 패러다임의 진화 및 Spring의 금융권 적용
프로그래밍 패러다임의 진화 및 Spring의 금융권 적용
중선 곽
머큐리얼저장소추가 사용자추가 권한추가
머큐리얼저장소추가 사용자추가 권한추가머큐리얼저장소추가 사용자추가 권한추가
머큐리얼저장소추가 사용자추가 권한추가
ETRIBE_STG
리눅스에 대하여
리눅스에 대하여리눅스에 대하여
리눅스에 대하여
ETRIBE_STG
표기법을 아시나요?
표기법을 아시나요?표기법을 아시나요?
표기법을 아시나요?
ETRIBE_STG
Wix - 웹 홈페이지 제작
Wix - 웹 홈페이지 제작Wix - 웹 홈페이지 제작
Wix - 웹 홈페이지 제작
ETRIBE_STG

톰캣 #06-db 연동

  • 2. {톰캣: T o m c a t }
  • 3. JDBC Connection Pool DB 연동 예제 DB 연동 설정값 JNDI Lookup CHAPTER #6 DB 연 동
  • 5. J V M JDBC Connection Pool D B L I S T E N E R C O N N E C T I O N P O O L
  • 6. J V M JDBC Connection Pool D B L I S T E N E R
  • 7. <Resource name="jdbc/test" auth="Container" type="javax.sql.DataSource" username="oracle" password="oracle" driverClassName="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@address:1521:SID" removeAbandoned="true" removeAbandonedTimeout="60" logAbandoned="true" maxActive="25" maxIdle="10" maxWait="-1" /> context.xml JDBC Connection Pool
  • 9. JDBC Driver s e t e n v l i b DB 연동 예제 #JDBC Driver Classpath CLASSPATH=/app/lib/jdbc.jar CATALINA_HOME/common/lib/jdbc.jar or CATALINA_HOME/shared/lib/jdbc.jar (tomcat 5.5) ! CATALINA_HOME/lib/jdbc.jar (tomcat 6+)
  • 10. M y S Q L / C o n n e c t o r / J DB 연동 예제 <Resource name="jdbc/test" auth="Container" type="javax.sql.DataSource" username="javauser" password="javadude" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://ipaddress:3306/javatest" maxActive="25" maxIdle="10" maxWait="-1" />
  • 11. <Resource name="jdbc/test" auth="Container" type="javax.sql.DataSource" username="oracle" password="oracle" driverClassName="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@ipaddress:1521:SID" maxActive="25" maxIdle="10" maxWait="-1" /> O R A C L E D a t a B a s e / c l a s s e s 1 2 . j a r o j d b c # . j a r DB 연동 예제
  • 12. P o s t g r e S Q L / J D B C # DB 연동 예제 <Resource name="jdbc/test" auth="Container" type="javax.sql.DataSource" username="myuser" password="mypasswd" driverClassName="org.postgresql.Driver" url="jdbc:postgresql://ipaddress:5432/mydb" maxActive="25" maxIdle="10" maxWait="-1" />
  • 14. A T T R I B U T E D E S C R I P T I O N D E F A U L T m a x A c t i v e 최 대 C o n n e c t i o n 값 1 0 0 m a x I d l e I d l e C o n n e c t i o n 최 대 허 용 치 m a x A c t i v e m i n I d l e I d l e C o n n e c t i o n 최 소 허 용 치 i n i t i a l S i z e i n i t i a l S i z e C o n n e c t i o n P o o l 의 최 초 생 성 개 수 1 0 m a x W a i t C o n n e c t i o n 을 얻 기 위 해 대 기 하 는 최 대 시 간 3 0 0 0 0 ( m s ) DB 연동 설정값 http://tomcat.apache.org/tomcat-7.0-doc/jdbc-pool.html
  • 15. A T T R I B U T E D E S C R I P T I O N D E F A U L T r e m o v e A b a n d o n e d 특 정 시 간 동 안 사 용 하 지 않 는 C o n n e c t i o n 반 환 f a l s e r e m o v e A b a n d o n e d T i m e o u t r e m o v e A b a n d o n e d 가 동 작 하 는 데 소 요 되 는 시 간 6 0 ( s ) l o g A b a n d o n e d C o n n e c t i o n 이 r e m o v e 될 때 l o g 에 기 록 f a l s e t e s t O n B o r r o w g e t C o n n e c t i o n ( ) 이 수 행 될 때 유 효 성 테 스 트 f a l s e v a l i d a t i o n Q u e r y DB 연동 설정값 테 스 트 를 위 한 쿼 리 S E L E T 1 ( m y s q l / M S S q l ) s e l e c t 1 f r o m d u a l ( o r a c l e ) n u l l http://tomcat.apache.org/tomcat-7.0-doc/jdbc-pool.html
  • 16. t i m e B e t w e e n E v i c t i o n R u n s M i l l i s > 0 & & r e m o v e A b a n d o n e d = t r u e & & r e m o v e A b a n d o n e d T i m e o u t > 0 & & s u s p e c t T i m e o u t > 0 & & t e s t W h i l e I d l e = t r u e & & v a l i d a t i o n Q u e r y ! = n u l l & & m i n E n i c t a b l e I d l e T i m e M i l l i s > 0 DB 연동 설정값
  • 18. context.xml >> ! <Resource name="jdbc/test" auth="Container" type="javax.sql.DataSource" username="oracle" password="oracle" driverClassName="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@address:1521:SID" /> web.xml >> ! <resource-ref> <res-ref-name>jdbc/test</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref> java Source >> ! ds = ctx.lookup("java:comp/env/jdbc/test"); JNDI Lookup
  • 20. JDBC Connection Pool Tomcat Resource Configure DataSource JNDI Lookup {M.Special : DB 연동} 끝
  • 21. N E X T 호 스 트