Spring의 XML 스키마 기반 구성을 사용하는 경우 다음과 같이 Spring 컨텍스트에서 설정하십시오.
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:jee="http://www.springframework.org/schema/jee" xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee.xsd">
...
<jee:jndi-lookup id="dbDataSource"
jndi-name="jdbc/DatabaseName"
expected-type="javax.sql.DataSource" />
또는 다음과 같은 간단한 Bean 구성을 사용하여 설정하십시오.
<bean id="DatabaseName" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="java:comp/env/jdbc/DatabaseName"/>
</bean>
다음과 같이 Tomcat의 server.xml에서 JNDI 리소스를 선언 할 수 있습니다.
<GlobalNamingResources>
<Resource name="jdbc/DatabaseName"
auth="Container"
type="javax.sql.DataSource"
username="dbUser"
password="dbPassword"
url="jdbc:postgresql://localhost/dbname"
driverClassName="org.postgresql.Driver"
initialSize="20"
maxWaitMillis="15000"
maxTotal="75"
maxIdle="20"
maxAge="7200000"
testOnBorrow="true"
validationQuery="select 1"
/>
</GlobalNamingResources>
Tomcat의 web context.xml에서 JNDI 리소스를 다음과 같이 참조하십시오.
<ResourceLink name="jdbc/DatabaseName"
global="jdbc/DatabaseName"
type="javax.sql.DataSource"/>
참조 문서 :
편집 :이 답변은 Tomcat 8 및 Spring 4에 대해 업데이트되었습니다. Tomcat의 기본 데이터 소스 리소스 풀 설정에 대한 속성 이름이 약간 변경되었습니다 .