기록/BACKEND
[Spring] JNDI 설정하기
5월._.
2022. 4. 19. 23:56
728x90
[기존 Servlet에서 Connection Pool을 얻던 방식]을 Spring에서도 사용하는 방법이다. 파일 하나만 변경하면 된다.
WEB-INF > spring > root-context.xml
org.springframework.jndi.JndiObjectFactoryBean의 setJndiName에 value를 설정한다. org.springframework.jndi.JndiObjectLocator에서 상속받은 메서드인데, java:comp/env/로 시작하지 않고 resourceRef가 true로 설정돼있다면 자동으로 prefix를 붙여준다.
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="java:comp/env/jdbc/____"></property>
</bean>
META-INF > context.xml
저번과 동일하다.
<Context>
<Resource name="jdbc/____" auth="Container" type="javax.sql.DataSource"
maxTotal="100" maxIdle="30" maxWaitMillis="10000"
username="____" password="____" driverClassName="com.mysql.cj.jdbc.Driver"
url="jdbc:mysql://localhost:3306/____?serverTimezone=UTC&useUniCode=yes&characterEncoding=UTF-8"/>
<WatchedResource>WEB-INF/web.xml</WatchedResource>
</Context>