(출처: http://icoon22.tistory.com/249)
작업 순서
1. tomcat-jdbc.jar 라이브러리를 "%TOMCAT_HOME%/lib" 복사하기
2. server.xml 에서 DataSource 설정 하기
3. server.xml에서 <Context>에서 DataSource 링크 설정
4. web.xml에서 DataSource 참조 설정 하기
5. Spring에서 bean 설정 하기
(1) tomcat-jdbc.jar 라이브러리를 "%TOMCAT_HOME%/lib" 복사하기
tomcat 7.x 이전버전에서는 commons-dbcp.jar, commons-pool.jar, commons-collection.jar,
3rd driver library(oracle, ms-sql, mysql, db2) 4개의 라이브러리 필요
Tomcat 7.x에서는 2개의 라이브러리만 필요
tomcat-jdbc,jar, 3rd driver library(oracle, ms-sql, mysql, db2)
다음의 사이트에서 다운로드
압축 해제 후 tomcat-jdbc.jar를 %TOMCAT_HOME%/lib에 복사
http://people.apache.org/~fhanik/jdbc-pool/
%TOMCAT_HOME%/conf/server.xml 파일에 <GlobalNamingResources>에 DataSource 추가
<GlobalNamingResources>
<!-- jdbc 셋팅 -->
<Resource name="jdbc/testDB"
auth="Container"
type="javax.sql.DataSource"
factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
maxActive="100"
minIdle="10"
maxWait="10000"
initialSize="10"
validationQuery="SELECT 1 FROM DUAL"
driverClassName="com.mysql.jdbc.Driver"
defaultAutoCommit="false"
username="beyondj2ee"
password="beyondj2ee"
url="jdbc:mysql://127.0.0.1:3316/testDB" />
</GlobalNamingResources>
여기서 중요한 부분은 factory 속성에 "org.apache.tomcat.jdbc.pool.DataSourceFactory"
선언 합니다.
그리고 이전 버전에서 사용 했던 "<ResourceParams>"는 없어지고, 대신 훨씬 편하게
직접 속성들을 설정 하도록 변경 되었습니다.
보다 자세한 속성 정보는 아래의 링크를 참조 하시면 됩니다.
http://people.apache.org/~fhanik/jdbc-pool/jdbc-pool.html
server.xml에서 <Context>에서 DataSource 링크 설정
이제 Global DataSource 설정을 완료 했습니다. (즉 WAS에 등록된 웹 어플리케이션이
접근 가능 하도록 설정)
이제 Context에서 DataSource를 설정하는 방법을 말씀 드리겠습니다.
사실 이부분 이후로는 이전 버전과 동일 합니다.
<Context docBase="beyondj2ee"
path="/beyondj2ee"
reloadable="true"
source="org.eclipse.jst.jee.server:beyondj2ee">
<ResourceLink global="jdbc/testDB" name="jdbc/testDB" type="javax.sql.DataSource" />
</Context>
web.xml에서 DataSource 참조 설정 하기
Context에 선언된 DataSource를 님들의 웹 어플리케이션에서 쓸수 있도록
web.xml에 설정을 합니다.
※반드시 <Context>의 안에 선언된 "<ResourceLink>" 태그의 "name"속성의 같과
동일 해야 합니다. 즉 (name="jdbc/testDB" == res-ref-name)
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/testDB</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
Spring에서 bean 설정 하기
이제 웹 어플리케이션에서 사용 하기 위한 DataSource 설정은 완료가 되었습니다.
이제 스프링에서 JDBC 설정 입니다.
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="java:/comp/env/jdbc/testDB" />
</bean>
sample : Tomcat7-Datasource.zip
출처 : http://beyondj2ee.egloos.com/1469795
(2) Spring 빈 설정
아래와 같이 설정 하시면 됩니다.
<bean id=”dataSource” class=”org.apache.tomcat.jdbc.pool.DataSource”
destroy-method=”close”
p:driverClassName=”oracle.jdbc.OracleDriver” p:url=”jdbc:oracle:thin:@localhost:1521:XE”
p:defaultAutoCommit=”false”
p:username=”scott”
p:password=”tiger”
p:initialSize=”10”
p:minIdle=”10”
p:maxIdle=”100”
p:maxActive=”100”
p:maxWait=”6000”
/>
원문 사이트 : http://bit.ly/p0qmkx
'개발 > 프로그래밍(일반)' 카테고리의 다른 글
정규표현식에 의한 Replace 방법 (0) | 2017.07.25 |
---|---|
[Java]BlockingQueue을 이용한 생산자 소비자 패턴 (0) | 2014.08.19 |
Sending And Receiving UDP Messages with node.js (0) | 2014.07.27 |
vi 명령어 (0) | 2014.07.10 |
TCL (exp 스크립트) (0) | 2014.06.19 |