您可以使用 WebSphere® Application Server 来管理对 Spring 应用程序的数据源的访问。
关于此任务
为了
Spring 应用程序能够访问诸如 Java 数据库连接 (JDBC) 数据源之类的数据源,该应用程序必须使用由
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>
- 对于 Enterprise JavaBeans (EJB) Java™ 归档 (JAR) 文件,请在需要访问数据源的每个 EJB 中声明相同的资源引用。 使用下列其中一个步骤:
- 声明数据源代理 Bean。在 Spring 应用程序配置中,声明一个代理 Bean,它引用应用程序服务器管理的资源提供程序。将 jndiName 属性的值设置为 java:comp/env/,并在其后加上您在资源引用中声明的 res-ref-name 属性的值。例如:
<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 V2.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 应用程序资源引用可以使用的资源提供程序和资源数据源。
结果
在部署期间,在模块的部署描述符中声明的资源引用将绑定到应用程序服务器的已配置数据源。