Server
[Tomcat] JNDI 설정
망할고양이
2022. 12. 28. 16:08
Tomcat에서 JNDI를 설정하는 방법을 알아보도록 하겠습니다.
수정할 파일은 2개 입니다.
context.xml | server.xml |
context.xml
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<ResourceLink global="jdbc/gcimjndi" name="jdbc/gcimjndi" type="javax.sql.DataSource"/>
server.xml
<Context docBase="system" path="/" reloadable="true" source="org.eclipse.jst.jee.server:system">
<Resource auth="Container"
defaultAutoCommit="false"
driverClassName="oracle.jdbc.driver.OracleDriver"
factory="<암호화 모듈 사용시 패키지 경로>"
initialSize="1" maxActive="2"
maxWait="10000" minIdle="2"
name="<jndi_name>"
url="<db_url_info>"
username="<db_account_info>"
password="<db_account_password_info>"
type="javax.sql.DataSource"
validationQuery="select 1 from dual" />
</Context>
설정파일을 위와같이 수정 한 후
name="<jndi_name>" 에 설정한 이름으로 JNDI를 연결하여 사용할 수 있다.
Spring Framework를 사용하는 경우 context-datasource.xml 이나 db 접속을 위한 내용이 있는 부분을 수정해서 적용할 수 있다.
context-datasource.xml
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="<jndi 이름>"/>
<property name="resourceRef" value="true"/>
</bean>
web.xml
<resource-ref>
<res-ref-name>[jndi이름]</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>