728x90
디비 커넥션풀(DBCP) 스프링 설정
(spring 오라클, 티베로 DB 2개 연결하는 방법)
기본 오라클DB를 사용하고 있는 서비스에서 추가로 티베로DB를 연결해야 할 때 DBCP 설정하는 방법이다. 서비스 하는 환경에 따라 변수는 가변적으로 사용하면 됨. 스프링 기반 전자정부프레임워크에서 티베로 추가 시 수정해야할 파일 목록은 다음과 같다.
✅사전 준비
tibero6-jdbc.jar 파일을 WEB-INF/lib/ 경로에 넣어준다.
1. jdbc 설정 파일에 티베로 추가(jdbc.properties)
#tibero
jdbc.tibero.driver=com.tmax.tibero.jdbc.TbDriver
jdbc.tibero.url=jdbc:tibero:thin:@ip주소:포트:SID
jdbc.tibero.username=GGOYO
jdbc.tibero.password=1234
jdbc.tibero.maxActive=8 #동시에 사용 가능한 최대 커넥션 개수(기본:8)
jdbc.tibero.maxIdle=8 #커넥션풀에 반납할 때 최대로 유지되는 커넥션 개수(기본:8)
jdbc.tibero.maxWait=10000 #사용할 커넥션이 없을 때 커넥션 반납 대기 시간
오라클과 티베로DB를 동시에 사용하려면 오라클 DBCP 설정한 라인 바로 아래에 추가하면 된다.
2. context-datasource.xml
<!-- Tibero DB DataSource -->
<bean id="dataSourceTibero" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="${jdbc.tibero.driver}"/>
<property name="url" value="${jdbc.tibero.url}"/>
<property name="username" value="${jdbc.tibero.username}"/>
<property name="password" value="${jdbc.tibero.password}"/>
<property name="maxActive" value="${jdbc.tibero.maxActive}" />
<property name="maxIdle" value="${jdbc.tibero.maxIdle}" />
<property name="maxWait" value="${jdbc.tibero.maxWait}" />
</bean>
마찬가지로 오라클과 티베로DB를 동시에 사용하려면 오라클 DBCP 설정한 라인 바로 아래에 추가하면 된다.
3. context-sqlMap.xml
<bean id="sqlMapClientTibero" class="egovframework.rte.psl.orm.ibatis.SqlMapClientFactoryBean">
<property name="configLocation" value="classpath:/egovframework/sqlmap/config/sql-map-config.xml"/>
<property name="mappingLocations" >
<list>
<value>classpath:/egovframework/sqlmap/ggoyo/**/*.xml</value>
</list>
</property>
<property name="dataSource" ref="dataSourceTibero"/>
<property name="lobHandler" ref="egov.lobHandler"/>
</bean>
티베로 데이터소스를 사용할 리스트를 정의하는 구문
4. DAO 등 서비스 연결에 티베로 활용하기 예시
@Repository("comTiberoAbstractDAO")
public class ComTiberoAbstractDAO extends EgovAbstractDAO {
@Resource(name="sqlMapClientTibero")
public void setSuperSqlMapClient(SqlMapClient sqlMapClient) {
super.setSuperSqlMapClient(sqlMapClient);
}
// 티베로DB에서 조회할 리스트
@SuppressWarnings("rawtypes")
public List selectTiberoList(Map param, String tableName) throws Exception {
return list("hr1000DAO.tibero" + tableName + "List", param);
}
}
티베로 DB를 조회하는 용으로 따로 만든 TiberoDAO 이걸 활용해서 티베로 불러올 때, 오라클 불러올 때 동시에 사용 가능한 DBCP 설정이 끝났다.
'기타툴' 카테고리의 다른 글
디비버(dbeaver) 티베로(tibero) 데이터베이스 연결하기 (0) | 2024.11.20 |
---|---|
WinSCP 파일 업로드 안 될 때 해결 방법 (fileapart permission denied) (0) | 2024.08.30 |
디비버(dbeaver) csv 파일 큰따옴표 붙여서 가져오기 데이터 import (0) | 2024.08.29 |