Con la idea de implementar una Caché que funcionase en base a anotaciones me puse a googlear:
Primera Idea:
Lo primero que encontré fue este artículo, que coincidía exactamente con lo que tenía en la cabeza: una anotación para cachear y otra anotación para descachear:
El ejemplo es autoexplicativo:
Con la anotación Cachea cachea info y con la Descachea borra la caché.
Leyendo el artículo me topé con varios inconvenientes:
· El primordial es que la implementación no soportaba la caché de métodos por parámetros.
· Mucho código
· Configuración de Spring 2 (no Spring 2.5)
· Funcionamiento sobre OSCache
Segunda Opción: Cómo no! Spring me lo da resuelto!!!
Buscando un poco más llegué a Spring Caché Module (de Spring Modules).
En su guía de referencia explicaba lo que ofrecía:
· Funcionamiento sobre diversos motores de caché: EHCaché, JCS, OSCache, JBoss Cache
· Integración con Spring por diversos mecanismos: configuración, Anotaciones,…
· Soporte de caché por métodos con parámetros: en la caché se almacena por HashCode
Cuando me iba a poner a ello (hoy) descubro que la Web ha dejado de estar disponible en dev.java.net. Buscando consigo obtener las dependencias
Cuando se ha puesto a compilar se ha intentado descargar enemil dependencias (hasta Jini.jar) que no ha podido. Además tiene dependencias de una versión de Spring antigua.
Solución final: no es tan buena como la segunda pero es sencilla
Así que llegué a la tercera (y definitiva por el momento) solución:
Ehcache Annotations for Spring es según sus creadores: “A successor in spirit of the annotations provided by the Spring-Modules Cache library“
Para hacerlo funcionar basta con importar
<dependency>
<groupId>com.googlecode.ehcache-spring-annotations</groupId>
<artifactId>ehcache-spring-annotations</artifactId>
<version>1.1.2</version>
</dependency>
Ofrece 2 anotaciones: @Cacheable y @TriggersRemove.
Lo mejor es leerse este Getting Started::
Básicamente necesitamos:
1) Anotar la clase con las Anotaciones:
2) Añadir configuración de Spring:
3) Crear fichero ehcache.xml:






Replica a Articulo Indexado en la Blogosfera de Sysmaya Cancelar la respuesta