Spring Framework Version 3.1 a introduit une nouvelle abstraction de cache. Celle-ci vous permet d'ajouter de manière transparente la mise en cache à une application Spring existante. Vous pouvez utiliser WebSphere DataPower XC10 Appliance comme fournisseur de cache pour l'abstraction de cache.
Pourquoi et quand exécuter cette tâche
A l'aide de l'abstraction de cache dans Spring Framework, vous pouvez réduire le nombre d'exécutions de votre méthode Java. Lorsqu'elle est configurée, les résultats d'une méthode particulière sont placés dans la mémoire cache. Quand la méthode est ré-exécutée à l'aide des mêmes arguments, l'abstraction vérifie la mémoire cache pour déterminer si les résultats de la méthode figurent déjà dans la mémoire cache. S'ils figurent dans la mémoire cache, il n'est pas nécessaire de ré-exécuter la méthode.
La mise en oeuvre de l'abstraction peut réduire le nombre d'exécutions des méthodes coûteuses, ce qui réduit également le temps de réponse moyen de votre application.
Procédure
Configurez le conteneur Spring IoC (Inversion of Control) de sorte qu'il utilise WebSphere DataPower XC10 Appliance comme fournisseur de cache. L'implémentation de cache
WebSphere DataPower XC10 Appliance réside dans le package
com.ibm.websphere.objectgrid.spring. Définissez les beans ci-dessous dans votre configuration de conteneur Spring IoC.
<bean id="wxsCSDomain" class="com.ibm.websphere.objectgrid.spring.ObjectGridCatalogServiceDomainBean"
p:catalog-service-endpoints="CATALOG_SERVICE_ENDPOINTS"
/>
<bean id="wxsGridClient" class="com.ibm.websphere.objectgrid.spring.ObjectGridClientBean"
p:object-grid-name="OBJECT_GRID_NAME"
p:catalog-service-domain-ref="wxsCSDomain" />
<bean id="cacheManager" class="org.springframework.cache.support.SimpleCacheManager">
<property name="caches">
<set>
<bean class="com.ibm.websphere.objectgrid.spring.ObjectGridCache"
p:name="CACHE_NAME"
p:map-name="MAP_NAME "
p:object-grid-client-ref="wxsGridClient" />
</set>
</property>
</bean>
- CATALOG_SERVICE_ENDPOINTS
- Indique le nom d'hôte et le port du serveur de catalogue.
- Indique le chemin d'accès absolu ou relatif à un fichier XML ObjectGrid dans lequel modifier les paramètres côté client sous la forme d'une ressource Spring. Pour plus d'informations sur la spécification des ressources dans Spring, voir Spring Framework Reference Documentation: Resources.
Exemple :p:client-override-xml="file:/path/to/objectgrid.xml"
Exemple :p:client-override-xml="classpath:com/example/app/override-objectgrid.xml"
Exemple :p:client-override-xml="http://myserver/override-objectgrid.xml"
Exemple :p:client-override-xml="ftp://myserver/override-objectgrid.xml"
- CLIENT_SECURITY_CONFIG (facultatif)
- Indique le chemin d'accès absolu ou relatif à un fichier client.properties sous la forme d'une ressource Spring. Pour plus d'informations sur la spécification des ressources dans Spring, voir Spring Framework Reference Documentation: Resources.Pour plus d'informations sur la création d'un fichier client.properties pour WebSphere DataPower XC10 Appliance, voir Configuration d'une application de grille de données pour l'utilisation de l'authentification client.
Exemple : p:client-security-config="file:/path/to/client.properties"
- OBJECT_GRID_NAME
- Spécifie le nom d'ObjectGrid. Ce paramètre n'est pas requis si les serveurs de conteneur sont démarrés à l'aide des fichiers de configuration XML fournis. Cette valeur correspond au nom de la grille de données simple que vous avez créée dans l'interface utilisateur.
- CACHE_NAME
- Indique le nom de la mémoire cache spécifiée dans l'application de mise en cache Spring.
- MAP_NAME
- Indique le nom de la mappe de sauvegarde pour une mémoire cache. Cette valeur correspond au nom de la grille de données simple que vous avez créée dans l'interface utilisateur. Pour utiliser un nom de mappe autre que la valeur par défaut, vous pouvez définir une mappe dynamique. Pour plus d'informations sur la création de mappes dynamiques, voir Options de configuration de mappe dynamique.
Exemple
Le fragment de code ci-dessous crée une mémoire cache intitulée
default, hébergée par un dispositif dans
myXC10.myhost.com:2809. Cet exemple utilise l'instance de mappe par défaut qui est nommée d'après la grille de données.
<bean id="wxsCSDomain" class="com.ibm.websphere.objectgrid.spring.ObjectGridCatalogServiceDomainBean"
p:catalog-service-endpoints ="myXC10.myhost.com:2809" />
<bean id="wxsGridClient" class="com.ibm.websphere.objectgrid.spring.ObjectGridClientBean"
p:object-grid-name=”my_simple_data_grid”
p:catalog-service-domain-ref="wxsCSDomain" />
<bean id="cacheManager" class="org.springframework.cache.support.SimpleCacheManager">
<property name="caches">
<set>
<bean class="com.ibm.websphere.objectgrid.spring.ObjectGridCache"
p:name="default"
p:map-name=”my_simple_data_grid”
p:object-grid-client-ref="wxsGridClient" />
</set>
</property>
</bean>