Vous pouvez utiliser WebSphere
Application Server pour gérer l'accès à une source de données pour une application Spring.
Pourquoi et quand exécuter cette tâche
Pour qu'une application Spring puisse accéder à une source de données, par exemple une source de données JDBC (Java Database Connectivity), l'application doit utiliser un fournisseur de ressource géré par
WebSphere
Application Server. Pour plus d'informations sur les applications Spring et le Framework Spring, voir les rubriques suivantes :
Procédure
- Pendant le développement, configurez le module WAR avec une référence de ressource. Exemple :
<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>
- Pour les fichiers d'archive Java™ (JAR) des beans Enterprise JavaBeans (EJB), déclarez la même référence de ressource dans chaque EJB ayant besoin d'accéder à la source de données. Utilisez l'une des méthodes suivantes :
- Déclarez un bean relais de source de données. Dans la configuration de l'application Spring, déclarez un bean relais qui référence un fournisseur de ressource géré par le serveur d'applications. Affectez à la propriété jndiName la valeur
java:comp/env/ suivie de la valeur de la propriété res-ref-name que vous avez déclarée dans la référence de ressource. Exemple :
<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>
- De même, pour Spring Framework Version 2.5 et les versions suivantes, utilisez l'approche <j2ee:jndi-lookup/>. Affectez à la propriété jndi-name la valeur
de la propriété res-ref-name que vous avez déclarée dans la référence de ressource et affectez à la propriété resource-ref la valeur true. Exemple :
<jee:jndi-lookup id=" wasDataSource "
jndi-name="jdbc/springdb"
cache="true"
resource-ref="true"
lookup-on-startup="false"
proxy-interface="javax.sql.DataSource"/>
L'application Spring peut maintenant utiliser le bean relais de la source de données.
- Quand vous déployez l'application sur un serveur d'applications, configurez un fournisseur de ressources et une source de données que la référence de ressource de l'application pourra utiliser.
Résultats
La référence de ressource déclarée dans le descripteur de déploiement du module sera liée à la source de données configurée du serveur d'applications pendant le déploiement.