Sie können WebSphere Application Server verwenden,
um den Zugriff auf eine Datenquelle für eine Spring-Anwendung zu verwalten.
Informationen zu diesem Vorgang
Damit eine Spring-Anwendung auf eine Datenquelle zugreifen kann, z. B. auf eine
JDBC-Datenquelle (Java Database Connectivity), muss die Anwendung einen Ressourcenprovider
verwenden, der von
WebSphere Application Server verwaltet wird.
Weitere Informationen zu Spring-Anwendungen und zu
Spring Framework finden Sie in den folgenden Artikeln:
Vorgehensweise
- Konfigurieren Sie während der Entwicklung das WAR-Modul mit einer Ressourcenreferenz. Beispiel:
<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>
- Für EJB-JAR-Dateien deklarieren Sie dieselbe Ressourcenreferenz in jeder EJB, die auf die Datenquelle zugreifen muss. Führen Sie einen der folgenden Schritte aus:
- Deklarieren Sie eine Datenquellen-Proxy-Bean. Deklarieren Sie in der Konfiguration der Spring-Anwendung
eine Proxy-Bean, die auf einen Ressourcenprovider verweist, der vom Anwendungsserver verwaltet wird.
Setzen Sie die Eigenschaft "jndiName" auf den Wert "java:comp/env/", gefolgt vom Wert der Eigenschaft "res-ref-name", die Sie in der Ressourcenreferenz deklariert haben.
Beispiel:
<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>
- Alternativ dazu können Sie für Spring Framework Version 2.5 oder höher die Methode <j2ee:jndi-lookup/> verwenden.
Setzen Sie die Eigenschaft "jndi-name" auf den Wert der Eigenschaft "res-ref-name", die Sie
in der Ressourcenreferenz deklariert haben, und die Eigenschaft "resource-ref" auf true. Beispiel:
<jee:jndi-lookup id=" wasDataSource "
jndi-name="jdbc/springdb"
cache="true"
resource-ref="true"
lookup-on-startup="false"
proxy-interface="javax.sql.DataSource"/>
Die Spring-Anwendung kann daraufhin die Datenquellen-Proxy-Bean entsprechend verwenden.
- Wenn die Anwendung in einem Anwendungsserver implementiert ist, konfigurieren Sie
einen Ressourcenprovider und eine Ressourcendatenquelle für die Spring-Anwendungsressourcenreferenz.
Ergebnisse
Die Ressourcenreferenz, die im Implementierungsdeskriptor des Moduls deklariert ist, wird während der Implementierung
an die konfigurierte Datenquelle des Anwendungsservers gebunden.