전자정부표준프레임워크에서 Tomcat 을 사용할때 dataSource를 Tomcat에 설정된 dataSource를 jndi 로 가져와서 사용하는 방법을 알아 봅니다. 이 예는 전자정부표준프레임워크 비즈니스 템플릿에 MySQL을 사용한것 입니다.
1. Tomcat의 server.xml 파일의 Global 리소스 영역에 데이터베이스 연결을 정의합니다.
<GlobalNamingResources>
...
<Resource name="jdbc/mysqldb"
global="jdbc/mysqldb"
auth="Container"
type="javax.sql.DataSource"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://127.0.0.1:3306/businessdb"
username="businessdbadm"
password="businessdbadm"
maxActive="8"
maxIdle="8"
minIdle="0"
maxWait="-1" />
</GlobalNamingResources>
2. Tomcat 의 context.xml 파일에 <ResourceLink> 를 정의합니다.
<Context>
...
<ResourceLink name="jdbc/mysqldb"
global="jdbc/mysqldb"
auth="Container"
type="javax.sql.DataSource" />
</Context>
3. 전자정부표준프레임워크의 context-datasource.xml 파일에 기존의 데이터소스를 주석 처리하고, jndi 데이터소스를 지정합니다.
<bean id="dataSource-mysql" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="java:comp/env/jdbc/mysqldb"/>
</bean>
<!-- 기존 데이터소스 부분은 삭제 또는 주석처리합니다. -->
<!--
<bean id="dataSource-mysql" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="${Globals.DriverClassName}"/>
<property name="url" value="${Globals.Url}" />
<property name="username" value="${Globals.UserName}"/>
<property name="password" value="${Globals.Password}"/>
</bean>
-->
이제 모든 설정이 완료되었습니다. DBCP 의 각 설정 항목들에 대해서는 "전자정부 표준프레임워크 - dataSource (DBCP) 설정하기" 를 참고하세요.
'프로그래밍 > 스프링프레임워크' 카테고리의 다른 글
JSTL - jsp 페이지에서 jstl을 사용하여 HTML tag 제거하기 (4) | 2018.04.20 |
---|---|
Spring + Quartz 주기적으로 작업 실행하기 (12) | 2018.04.20 |
POI를 사용하여 엑셀 출력하기 (14) | 2018.04.20 |
스프링 시큐리티에서 중복 로그인 방지 및 세션 고정 공격 방지 (2) | 2018.04.20 |
스프링프레임웍 다국어 메세지 프로퍼티 파일에 한글 바로쓰기 (0) | 2018.04.20 |