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>

+ Recent posts