기존 사용중인 프로젝트에서는 dataSource를 jdbc로 사용하고 있었다.
- 기존 사용중인 dataSource
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource"
p:driverClassName="oracle.jdbc.driver.OracleDriver"
p:url="jdbc:oracle:thin:@localhost:1521:xe"
p:username="user_id" p:password="password" />
jdbc를 jndi로 변경하기로 함
-------------변경방법--------------
1. tomcat 내의 설정 변경
1-1. server.xml
1-2. context.xml
2. spring 프로젝트 내의 설정 변경
2-1. web.xml
2-2. DataSource
--------------------------------------
1. TOMCAT내의 설정변경
1-1. server.xml
서버에서 server.xml 열기
여기에 JNDI resource를 정의한다.
아래의 resource를 맞게 수정하여 <GlobalNamingResources></GlobalNamingResources> 태그 안에 넣는다.
<Resource auth="Container"
name="jdbc/test"
type="javax.sql.DataSource"
driverClassName="oracle.jdbc.OracleDriver"
url="jdbc:oracle:thin:@localhost:1521:xe"
username="user_id"
password="password"
validationQuery="select 1 from dual"
maxActive="20"
maxIdle="20"
maxWait="5000"
minIdle="2"
/>
내 경우에는 oracle db였기에 url과 driverClassName이 oracle이지만 맞는 것을 사용하면 된다.
* MariaDB의 경우
driverClassName="org.mariadb.jdbc.Driver"
url="jdbc:mariadb://localhost:3306/test"
* MySQL의 경우
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://127.0.0.1:3306/test"
* MS-SQL의 경우
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver://127.0.0.1;DatabaseName=test"
1-2. context.xml
ResourceLink정의
<Context></Context> 안에 추가
<ResourceLink global="jdbc/test" name="jdbc/test" type="javax.sql.DataSource"/>
2. 프로젝트 내의 설정 변경
2-1. web.xml
resource-ref 를 <web-app></web-app> 안에 추가
<resource-ref>
<res-ref-name>jdbc/test</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
2-2. datasource부분 수정
이건 프로젝트마다 다르겠지만
내 프로젝트의 경우 spring-datasource.xml 에 그냥 작성되어있어 그냥 수정할 예정이다.
맨 위에 있던 dataSource 가 있는 부분을 수정하면 된다.
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="jdbc/test"/>
<property name="resourceRef" value="true"/>
</bean>
그리고 프로젝트 실행해보니 잘된다 휘유 다행
'IT 웹개발 > 스프링(Spring)' 카테고리의 다른 글
[Spring boot] 스프링 부트로 프로젝트 생성 java 버전을 지정해도 계속 17로 설정되는 경우 (0) | 2023.07.26 |
---|---|
[SPRING] 스프링 버전 업그레이드 (3.0.x -> 3.2.x) (0) | 2023.01.27 |
[Spring] MesageSource 설정하기 - 공통 메시지 처리 (with 다국어처리) (0) | 2022.05.06 |
[SpringBoot] 스프링부트 DB 설정 중 오류 (0) | 2022.03.29 |
[SpringBoot] 스프링부트 포트번호 변경 방법 (0) | 2022.03.29 |