WebSphere® Application Server를 사용하여 Spring 애플리케이션의 데이터 소스에 대한
액세스를 관리할 수 있습니다.
이 태스크 정보
Spring 애플리케이션이 JDBC(Java Database Connectivity) 데이터 소스와 같은 데이터 소스에 액세스할 수 있으려면 이 애플리케이션이
WebSphere Application Server에 의해 관리되는 자원 제공자를 사용해야 합니다. Spring
애플리케이션 및 Spring Framework에 대한 자세한 정보는 다음 주제를 참조하십시오.
프로시저
- 개발 중에 자원 참조를 사용하여 WAR 모듈을 구성하십시오. 예를 들어, 다음과 같습니다.
<resource-ref>
<res-ref-name>jdbc/springdbres-ref-name>jdbc/springdb>
<res-type>javax.sql.DataSourceres-type>javax.sql.DataSource>
<res-auth>Containerres-auth>Container>
<res-sharing-scope>Shareableres-sharing-scope>Shareable>
</resource-ref>
- EJB(Enterprise JavaBeans) JAR(Java™ Archive) 파일의 경우 데이터 소스에 액세스해야 하는 동일한 자원 참조를 각 EJB에서 선언하십시오. 다음 단계 중 하나를 사용하십시오.
- 데이터 소스 프록시 Bean을 선언하십시오. Spring 애플리케이션 구성에서
애플리케이션 서버가 관리하는 자원 제공자를 참조하는 프록시 Bean을 선언하십시오. jndiName
특성의 값을 자원 참조에서 선언한 res-ref-name 특성의 값이 뒤따르는 java:comp/env/로 설정하십시오. 예를 들어 다음과 같습니다.
<bean id="wasDataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="java:comp/env/jdbc/springdb"/>
<property name="lookupOnStartup" value="false"/>
<property name="cache" value="true"/>
<property name="proxyInterface" value="javax.sql.DataSource"/>
</bean>
- 또는 Spring Framework 버전 2.5 이상의 경우
<j2ee:jndi-lookup/> 접근법을 사용하십시오. jndi-name 특성의 값을
자원 참조에 선언한 res-ref-name 특성의 값으로 설정하고 resource-ref 특성의 값은 true로 설정하십시오. 예를 들어 다음과 같습니다.
<jee:jndi-lookup id=" wasDataSource "
jndi-name="jdbc/springdb"
cache="true"
resource-ref="true"
lookup-on-startup="false"
proxy-interface="javax.sql.DataSource"/>
그러면 Spring 애플리케이션이 데이터 소스 프록시 Bean을 적절하게 사용할 수 있습니다.
- 애플리케이션이 애플리케이션 서버에 배치될 때 Spring 애플리케이션 자원 참조가 사용할 수 있는 자원 제공자 및 자원 데이터 소스를 구성하십시오.
결과
모듈의 배치 디스크립터에서 선언된 자원 참조가 배치 중에 애플리케이션 서버의 구성된 데이터 소스로 바인드됩니다.