22
.Special M M

톰캣 #06-db 연동

Embed Size (px)

DESCRIPTION

톰캣과 DB를 연동하는 방법에 대해 알아봅니다. 요즘에는 ibatis나 mybatis를 사용하시는 분들이 있지만 기본적인 톰캣의 DB연동 방법에 대해 알아두시는 것도 좋겠지요? Connection Pool 의 모니터링 부분은 차후 추가할 예정입니다.

Citation preview

Page 1: 톰캣 #06-db 연동

.SpecialMM

Page 2: 톰캣 #06-db 연동

{톰캣: T o m c a t }

Page 3: 톰캣 #06-db 연동

JDBC Connection Pool

DB 연동 예제

DB 연동 설정값

JNDI Lookup C H A P T E R # 6

D B 연동

Page 4: 톰캣 #06-db 연동

JDBC Connection Pool

Page 5: 톰캣 #06-db 연동

JDBC Connection Pool

JVMDB

LISTENER

CONNECT ION POOL

Page 6: 톰캣 #06-db 연동

JDBC Connection Pool

JVMDB

LISTENER

Page 7: 톰캣 #06-db 연동

JDBC Connection Pool

<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

Page 8: 톰캣 #06-db 연동

DB 연동 예제

Page 9: 톰캣 #06-db 연동

DB 연동 예제

JDBC Driver

s e t e nv

l i b

#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+)

Page 10: 톰캣 #06-db 연동

DB 연동 예제

MySQL /

C o n n e c t o r / J

<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" />

Page 11: 톰캣 #06-db 연동

<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" />

DB 연동 예제

ORACLE D a t aBa s e

/ c l a s s e s 1 2 . j a r o j d b c# . j a r

Page 12: 톰캣 #06-db 연동

DB 연동 예제

Pos t g r eSQL /

JDBC #

<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" />

Page 13: 톰캣 #06-db 연동

DB 연동 설정값

Page 14: 톰캣 #06-db 연동

DB 연동 설정값

ATTR IBUTE DESCR IPT ION DEFAULT

maxAc t i v e 최대 Co n n e c t i o n 값 100

max I d l e I d l e C o n n e c t i o n 최대 허용치 maxAc 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의 최초 생성 개수 10

maxWa i t C o n n e c t i o n을 얻기위해 대기하는 최대 시간 30000 (m s )

http://tomcat.apache.org/tomcat-7.0-doc/jdbc-pool.html

Page 15: 톰캣 #06-db 연동

DB 연동 설정값

ATTR IBUTE DESCR IPT ION DEFAULT

r emoveAban d o n e d 특정시간 동안 사용하지 않는 Co n n e c t i o n 반환 f a l s e

r emoveAban d o n e dT im e o u t r emoveAban d o n e d가 동작하는데 소요되는 시간 60 ( s )

l o gA b a n d o n e d Co n n e c t i o n이 r emove될 때 l o g에 기록 f a l s e

t e s tOnBo r r ow g e tC o n n e c t i o n ( )이 수행될 때 유효성 테스트 f a l s e

va l i d a t i o nQu e ry테스트를 위한 쿼리 SELET 1 ( my s q l /MSSq l ) s e l e c t 1 f r om 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

Page 16: 톰캣 #06-db 연동

DB 연동 설정값

t imeBe twe e nEv i c t i o nRun sM i l l i s > 0

&& r emoveAban d o n e d = t r u e && r emoveAban d o n e dT im e o u t > 0

&& s u s p e c tT im e o u t > 0

&& t e s tWh i l e I d l e = t r u e && v a l i d a t i o nQu e ry ! = n u l l

&& m i n E n i c t a b l e I d l eT im eM i l l i s > 0

Page 17: 톰캣 #06-db 연동

JNDI Lookup

Page 18: 톰캣 #06-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");

Page 19: 톰캣 #06-db 연동
Page 20: 톰캣 #06-db 연동

JDBC Connection Pool

Tomcat Resource

Configure DataSource

JNDI Lookup

끝{M.Special : DB 연동}

Page 21: 톰캣 #06-db 연동

NEXT

호스트

Page 22: 톰캣 #06-db 연동

CategoryGMMG