Spring Framework Versión 3.1 introdujo una nueva abstracción de memoria
caché. Con esta nueva abstracción, puede añadir de forma transparente almacenamiento en memoria caché a una
aplicación Spring existentes. Puede utilizar WebSphere DataPower XC10 Appliance como proveedor
de memoria caché para la abstracción de memoria caché.
Acerca de esta tarea
Mediante la utilización de la abstracción de memoria caché en Spring Framework, puede reducir
el número de veces que se ejecuta el método Java. Cuando se configura, los resultados
de un método en particular se colocan en memoria caché. Cuando el método se vuelve a
ejecutar con los mismos argumentos, la abstracción comprueba la memoria caché para ver
si los resultados del método ya están en memoria caché. Si los resultados están en la memoria
caché, no es necesario que se vuelva a ejecutar el método.
La implementación de la abstracción puede reducir el número de veces que se ejecutan métodos costosos,
reduciendo también el tiempo de respuesta promedio de la aplicación.
Procedimiento
Configure el contenedor Spring Inversion of Control (IoC) para
utilizar WebSphere DataPower XC10 Appliance como proveedor de memoria caché. La implementación de
WebSphere DataPower XC10 Appliance reside bajo el
paquete
com.ibm.websphere.objectgrid.spring.
Defina los siguientes beans en la configuración del contenedor de 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
- Especifica el nombre de host del servidor de catálogo y el puerto.
- Especifique una vía de acceso absoluta o relativa a un archivo XML de ObjectGrid en el que se deben alterar los valores del
lado del cliente como recurso Spring. Para obtener información sobre la especificación de recursos
en Spring, consulte Spring Framework Reference Documentation: Resources.
Ejemplo:p:client-override-xml="file:/path/to/objectgrid.xml"
Example:p:client-override-xml="classpath:com/example/app/override-objectgrid.xml"
Example:p:client-override-xml="http://myserver/override-objectgrid.xml"
Example:p:client-override-xml="ftp://myserver/override-objectgrid.xml"
- CLIENT_SECURITY_CONFIG (opcional)
- Especifica una vía de acceso absoluta o relativa para un archivo client.properties como recurso
de Spring. Para obtener información sobre la especificación de recursos
en Spring, consulte Spring Framework Reference Documentation: Resources.Para obtener más información acerca de la creación de un client.properties para WebSphere DataPower XC10 Appliance, consulte Configuración de una aplicación de cuadrícula de datos para que utilice la autenticación de cliente.
Ejemplo:p:client-security-config="file:/path/to/client.properties"
- OBJECT_GRID_NAME
- Especifica el nombre de ObjectGrid. Este parámetro no es necesario si los servidores
de contenedor se inician con los archivos de configuración XML proporcionados. Este valor es el nombre de la cuadrícula de datos simple que ha creado en la interfaz de usuario.
- CACHE_NAME
- Especifica el nombre de la memoria caché que se ha especificado en la aplicación de almacenamiento en memoria caché de Spring.
- MAP_NAME
- Especifica el nombre de la correlación de respaldo para una memoria caché. Este valor es el nombre de la cuadrícula de datos
simple que ha creado en la interfaz de usuario. Si desea utilizar un nombre de correlación distinto del valor predeterminado, puede definir una correlación dinámica. Para obtener información sobre la creación de correlaciones dinámicas, consulte Opciones de configuración de correlaciones dinámicas.
Ejemplo
El siguiente fragmento de código crea una memoria caché denominada
default alojada en un dispositivo en
myXC10.myhost.com:2809. Este ejemplo utiliza la instancia de correlación predeterminada que recibe el nombre de la cuadrícula de datos.
<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>