Accès aux données et infrastructure Spring
Pour que les beans Spring puissent accéder à une source de données, vous devez configurer ces beans de manière que l'infrastructure Spring s'intègre au programme d'exécution de beans WebSphere Application Server correctement et lui délègue des opérations.
L'infrastructure Spring Framework encapsule les beans Spring avec une couche de gestion de conteneur qui, dans un environnement d'application d'entreprise, délègue l'exécution de l'application d'entreprise sous-jacente. Les sections qui suivent détaillent les éléments à prendre en compte avant de configurer des beans Spring qui accèdent à une source de données.
Accès aux sources de données configurées dans le serveur d'applications
Pour qu'une application Spring puisse accéder à une ressource telle qu'une source de données JDBC (Java™ Database Connectivity), elle doit utiliser un fournisseur de ressource géré par le serveur d'applications.
Pour ce faire, voir la rubrique Configuration d'un accès à une source de données d'application Spring.
Connexions JDBC natives
WebSphere Application Server ne prend pas en charge la classe NativeJdbcExtractor fournie par Spring Framework. Vous devez donc éviter les scénarios qui utilisent cette classe. Les implémentations de cette classe accèdent à des connexions JDBC natives et ignorent les fonctions de qualité de service du serveur d'applications, comme par exemple le suivi et la reconnexion des descripteurs de connexion, le partage des connexions, la gestion des pools de connexions et la participation aux transactions.
Comme alternative, vous pouvez utiliser la classe WSCallHelper du serveur d'applications pour accéder à des extensions de fournisseur non standard de sources de données.
API de persistance Java
WebSphere Application Server inclut deux fournisseurs JPA, l'un basé sur EclipseLinks for JPA 2.1 et l'autre sur l'implémentation Apache OpenJPA de JPA 2.0. Pour plus d'informations, voir les liens connexes.
Pour utiliser l'infrastructure Spring Framework avec une implémentation JPA, il est conseillé d'utiliser JPA directement à la place des classes auxiliaires JPA fournies avec l'infrastructure Spring Framework dans le package org.springframework.orm.jpa.
<persistence-context-ref>
<persistence-context-ref-name>some/name</persistence-context-ref-name>
<persistence-unit-name>pu_name</persistence-unit-name>
</persistence-context-ref>
, où pu_name est le nom de l'unité de persistance, comme défini dans le fichier persistence.xml.<jee:jndi-lookup id="entityManager" jndi-name="some/name" />
<persistence-unit-ref>
<persistence-unit-ref-name>some/ref_name</persistence-unit-ref-name>
<persistence-unit-name>pu_name</persistence-unit-name>
</persistence-unit-ref>
L'objet résultant EntityManagerFactory est disponible sous l'ID "entityManagerFactory" :<jee:jndi-lookup id="entityManagerFactory" jndi-name="some/ref_name" />