Mit Spring Framework Version 3.1 wurde eine neue Cache-Abstraktion eingeführt. Mit dieser Abstraktion können Sie Caching transparent zu einer vorhandenen Spring-Anwendung hinzufügen. Sie können WebSphere DataPower XC10 Appliance als Cache-Provider für die Cache-Abstraktion verwenden.
Informationen zu diesem Vorgang
Wenn Sie die Cache-Abstraktion in einem Spring-Framework verwenden, können Sie die Anzahl der Java-Ausführungen reduzieren. Bei entsprechender Konfiguration werden die Ergebnisse einer bestimmten Methode in den Cache versetzt. Wenn die Methode wieder mit denselben Argumente ausgeführt wird, wird von der Abstraktion der Cache überprüft, um festzustellen, ob sich die Ergebnisse für die Methode bereits im Cache befinden. Wenn sich die Ergebnisse bereits im Cache befinden, muss die Methode nicht erneut ausgeführt werden.
Die Implementierung der Abstraktion kann die Anzahl der Ausführung dieser aufwändigen Methoden reduzieren und auch die durchschnittliche Antwortzeit der Anwendung senken.
Vorgehensweise
Konfigurieren Sie den Spring-IoC-Container (IoC - Inversion of Control) so, dass WebSphere DataPower XC10 Appliance als Cache-Provider verwendet wird. Die Cache-Implementierung von
WebSphere DataPower XC10 Appliance befindet sich im Paket
com.ibm.websphere.objectgrid.spring.
Definieren Sie die folgenden Beans in der Konfiguration des Spring-IoC-Containers.
<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
- Gibt den Hostnamen und den Port des Katalogservers an.
- Gibt einen absoluten oder relativen Pfad zu einer XML-Datei 'ObjectGrid' zum Ändern der
Einstellungen für die Clientseite als Spring-Ressource an.
Informationen zum Angeben von Ressourcen in Spring finden Sie unter Spring Framework Reference Documentation: Resources.
Beispiel: p:client-override-xml="file:/path/to/objectgrid.xml"
Beispiel: p:client-override-xml="classpath:com/example/app/override-objectgrid.xml"
Beispiel: p:client-override-xml="http://myserver/override-objectgrid.xml"
Beispiel: p:client-override-xml="ftp://myserver/override-objectgrid.xml"
- CLIENT_SECURITY_CONFIG (optional)
- Gibt einen absoluten oder relativen Pfad zu einer Datei client.properties als
Spring-Ressource an. Informationen zum Angeben von Ressourcen in Spring finden Sie unter Spring Framework Reference Documentation: Resources. Weitere Informationen
zum Erstellen einer Datei client.properties für WebSphere DataPower XC10 Appliance finden Sie unter Clientauthentifizierung für Daten-Grid-Anwendung konfigurieren.
Beispiel: p:client-security-config="file:/path/to/client.properties"
- OBJECT_GRID_NAME
- Gibt den ObjectGrid-Namen an. Dieser Parameter ist nicht erforderlich, wenn die Container-Server mit den bereitgestellten XML-Konfigurationsdateien gestartet werden. Dieser Wert entspricht dem Namen des einfachen Daten-Grids, das Sie in der Benutzerschnittstelle erstellt haben.
- CACHE_NAME
- Gibt den Namen des Cache an, der für Ihre Spring-Caching-Anwendung angegeben ist.
- MAP_NAME
- Gibt den Namen der Sicherungsmap für den Cache an. Dieser Wert entspricht dem Namen des einfachen Daten-Grids,
das Sie in der Benutzerschnittstelle erstellt haben. Wenn Sie einen anderen Mapnamen als den Standardnamen verwenden wollen, können Sie eine dynamische Map definieren. Weitere Informationen zum Erstellen dynamischer Maps finden Sie unter Konfigurationsoptionen für dynamische Maps.
Beispiel
Mit dem folgenden Snippet
wird ein Cache erstellt mit dem Namen
default, der von einem Gerät gehostet wird unter
myXC10.myhost.com:2809. In diesem Beispiel wird die Standard-Map-Instanz verwendet, die denselben Namen wie das Daten-Grid hat.
<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>