Home

MANUAL DE USUARIO - Comunidad de Madrid

image

Contents

1. 2 ANOTACI N EATLASCACHE occococonononcnnnonananonencnnnnnnnnnnnnnonnonnnnnnoneno nro ronannn nene nro ronannn nene nr nronannnnenencnrononannn nano nronanannanenaninnos 8 4 3 CACHEO DE ENTIDADES OBTENIDAS POR PRIMARY KEY cooconocononononononononononononononononononononononononononono nono e ttt r nono no nono nononanononons 9 4 4 CACHEO DE CONSULTAS A BASE DE DATOS MEDIANTE ATLASQUBRY cocccccoconcncconnnononnnnncnnnnnnnonnnnnnnnnonnncnonnnnnncnnnnnnnannnnnnnns 9 4 5 CACHEO DE CONSULTAS A BASE DE DATOS MEDIANTE CRITERIA DE HIBERNATE ccccoconononononononononononononononononononononononononons 9 5 RECOMENDACIONES Y BUENAS PRACTICAS eseesseoeesseeesssessscocessoceesseceessecssocecsseceessecesesesssooeesseceesseesesseessosessseeeee 10 6 ENLACES RELACIONADOS siisicsisississossssasessssssssscsssisssssssiseossssesessr visasscis coso sosesssssesssss sisesscssossss s sesscssossossis ss ss s ss 10 kkkh X kk 3 de 10 pta Agencia de o Framework Atlas ic Inform tica y Comunicaciones de la Comunidad de Madrid Cach s de segundo nivel en Hibernate 1 INTRODUCCI N Este manual explica el uso de la cach de segundo nivel de Hibernate en las aplicaciones ATLAS de los Sistemas de Informaci n de la Comunidad de Madrid La implementaci n actual de la cach de segundo nivel de Atlas est basada en Ehcache http ehcache org Atenci n Las cach s de segundo nivel est n prohibidas en los proyectos est ndar de ICM por la norma ADCac
2. lt prop gt lt prop key hibernate show_sql gt false lt prop gt lt prop key hibernate format sql gt false lt prop gt lt prop key hibernate use sql comments gt false lt prop gt lt prop key hibernate cache use second level cache gt true lt prop gt lt prop key hibernate cache use query cache gt true lt prop gt lt prop key hibernate cache region factory class gt atlas core cache AtlasCacheRegionFactory lt prop gt lt prop key hibernate cache region prefix gt lt prop gt lt prop key net sf ehcache configurationResourceName gt ehcache xml lt prop gt lt props gt lt property gt Nota Si se pone la variable atlas cache debugListener a true se mostrar en el log los datos que se insertan borrar y actualizan en las cach s Este par metro puede estar bien para pruebas en local o desarrollo pero es muy importante dejar este valor a false cuando se pase a producci n see 6 de 10 pta Agencia de o Framework Atlas ic Inform tica y Comunicaciones de la Comunidad de Madrid Cach s de segundo nivel en Hibernate 4 USO DE LAS CACH S DE SEGUNDO NIVEL En el desarrollo de una aplicaci n y a la hora de crear las entidades de dominio es cuando hay que identificar aquellas susceptibles de ser cacheadas e indic rselo al framework Atlas Esto se hace anotando las entidades de dominio mediante las anotaciones Cache propia de Hibernate y la anotaci n OWAtlasCache A co
3. pero ninguno de ellos sea de tipo LIKE Valores posibles true false Valor por defecto true cacheSelectLike Indica si se van a cachear aquellos queries o criterias que tengan filtros de tipo LIKE Valores posibles true false Valor por defecto false 8 de 10 CU ir Agencia de Framework Atlas ic Inform tica y Comunicaciones de la Comunidad de Madrid Cach s de segundo nivel en Hibernate Ejemplo de uso de las anotaciones Cache y OAtlasCache Cliente java Entity G Table name EJPL CLIENTES Cache usage CacheConcurrencyStrategy NONSTRICT READ WRITE AtlasCache maxEntities 1000 segundosCache 120 public class Cliente implements java io Serializable 4 3 Cacheo de entidades obtenidas por primary key Todas las entidades que tengan la anotaci n OAtlasCache cachear n las entidades obtenidas mediante primary key autom ticamente bas ndose en las propiedades maxEntities y segundosCache de la anotaci n 4 4 Cacheo de consultas a Base de Datos mediante AtlasQuery Las consultas a base de datos ejecutadas mediante la clase AtlasQuery comprueban si tienen que ser cacheadas en base a la anotaci n OAtlasCache Cuando se ejecuta una consulta a trav s de un OAtlasQuery se comprueba que tipo de filtro tiene esa consulta Sin filtro con filtros o con filtros de tipo like y en base a las propiedades de la anotaci n cacheSelectAll cacheSelectWhere y cacheSelectLike determ
4. MANUAL DE USUARIO MANUAL DE CACHES DE SEGUNDO NIVEL EN HIBERNATE Versi n 1 0 rea de Aplicaciones Especiales y Arquitectura de Software AAA S LEN Agencia de Inform tica y Comunicaciones de la Comunidad de Madrid pta Agencia de o Framework Atlas ic Inform tica y Comunicaciones l s de la Comunidad de Madrid Cach s de segundo nivel en Hibernate Hoja de Control T tulo Manual de cach s de segundo nivel en Hibernate Documento de NORMATIVA ATLAS Referencia Responsable Unidad de Arquitectura de Software de Aplicaciones Versi n ere Versi n 16 06 2014 Registro de Cambios Versi n Causa del Cambio Responsable del Cambio Fecha del Cambio 1 0 Versi n inicial del documento Unidad de Arquitectura de Software 16 06 2014 kkkh Xx xk 2 de 10 a Agencia de ic Inform tica y Comunicaciones de la Comunidad de Madrid Framework Atlas Cach s de segundo nivel en Hibernate ndice INTRODUCCION adas 4 1 1 AUDIENCIA OBJETIVO sidad did 4 1 2 CONOCIMIENTOS PREVIOS a a a a aa a a a a a Ea a dcir nidad citainaannidinaccdnadadaidndcncaciccida 4 Y DESCRIPCION ti S 5 3 INSTALACI N Y CONFIGURACI N ria 6 31 INSTALACION aaa 6 3 2 CONFIGURACION iii 6 3 2 1 Activaci n del listener de Debug o o 6 4 USO DE LAS CACH S DE SEGUNDO NIVEL e eseessesseeseeessessesseossssessescessssstssescrossscesssscesssstessssttsssscesseetreseerrssserrssssee 7 4 1 AN OTACI N DEA 7 4
5. ble de la aplicaci n 6 ENLACES RELACIONADOS Hibernate http www hibernate org Ehcache http ehcache org A 10 de 10 cm
6. dades son susceptibles de ser cacheadas el programador deber hacerlo usando la anotaci n Cache propia de Hibernate junto con la anotaci n AtlasCache propia de ATLAS seg n se ver en los siguientes apartados CU 5 de 10 pto Agencia de o Framework Atlas ic Inform tica y Comunicaciones de la Comunidad de Madrid Cach s de segundo nivel en Hibernate 3 INSTALACI N Y CONFIGURACI N Los arquetipos no tienen activadas las cach s de segundo nivel de Hibernate por defecto Por lo tanto aquellas aplicaciones que lo requieran tienen que realizar los siguientes pasos para poder utilizar el servicio correctamente 3 1 INSTALACI N Para usar las cach s de segundo nivel a partir de la versi n 1 2 7 de Atlas no hay que instalar nada 3 2 CONFIGURACI N Las cach s de segundo nivel de Hibernate est n configuradas por defecto en el Framework Atlas pero su uso est prohibido hasta que no se tenga una autorizaci n por parte de Arquitectura para usarlas en el proyecto 3 2 1 Activaci n del listener de Debug Para comprobar el funcionamiento de las cach s y hacer un seguimiento m s detallado de las mismas se puede activar un listener de debug que se mostrara un log de los datos que se insertan borrar y actualizan en las cach s applicationContext database xml lt property name hibernateProperties gt lt props gt lt prop key hibernate dialect gt org hibernate dialect Oracle iDialect
7. de objetos de negocio que est n sometidos a cambios frecuentes Algunos ejemplos de entidades cacheables son los cat logos de las aplicaciones como los Municipios de la Comunidad de Madrid los Tipos de V a o el Sexo V M T picamente entidades cacheables se suelen mostrar s lo en componentes visuales como la Lista de Valores o el Combo de Valores un desplegable Atenci n Las cach s se configuran para guardar los elementos s lo en memoria sin ning n tipo de persistencia en disco Es decir cuando el servidor de aplicaciones se para o reinicia se borran todos los elementos de la cach Tambi n se configuran sin replicaci n entre servidores del cl ster Es decir si una aplicaci n est montada en un cl ster cada servidor del cl ster tendr su propia cach en memoria independiente Es muy importante tener esto en cuenta porque es muy probable que un cambio en base de datos en una entidad cacheada no se vea reflejado inmediatamente en una pantalla donde se muestre dicha entidad hasta que no se refresque la entidad de la cach no se ver n los cambios por esto hay que configurar muy bien los tiempos m ximos de cacheo Adem s a algunos usuarios les puede aparecer la entidad actualizada y a otros no dependiendo del servidor del cl ster al que acceda cada uno de ellos Para utilizar la cach es necesario que la aplicaci n indique qu entidades y queries van a ser cacheadas A la hora de indicar qu enti
8. ema de marcas de tiempo timestamps El caso de uso recomendable es el mismo que para la estrategia transactional pero con la diferencia de que esta estrategia no se puede utilizar en entornos basados en cl steres 7 de 10 SAR a Agencia de Framework Atlas ic Inform tica y Comunicaciones de la Comunidad de Madrid Cach s de segundo nivel en Hibernate Transactional No se permite el uso de esta estrategia en las cach s de ATLAS Garantiza un nivel de aislamiento hasta repeatable read si se necesita Es el nivel m s estricto Se recomienda su uso cuando no se pueda permitir datos que queden desfasados Esta estrategia s lo se puede utilizar en entornos basados en cl steres es decir con cach s distribuidas 4 2 ANOTACI N GCAtlasCache Propiedad Explicaci n maxEntities Indica el n mero m ximo de entidades a guardar en la memoria de la cach segundosCache Indica los segundos de vida de los elementos en la cach Valor por defecto 120 maxQueries Indica el n mero m ximo de queries a guardar en la memoria de la cach de cada tipo de los especificados en las propiedades cacheSelectAll cacheSelectWhere y cacheSelectLike cacheSelectAll Indica si se van a cachear aquellos queries o criterias que no tengan filtros Valores posibles true false Valor por defecto true cacheSelectWhere Indica si se van a cachear aquellos queries o criterias que si tengan filtros
9. heZ2nivel Si se necesita el uso de las cach s en un proyecto primero se tendr que hablar con Arquitectura de Software para estudiar c mo se van a implementar en el proyecto concreto 1 1 Audiencia objetivo Este documento est dirigido a desarrolladores de proyectos java para ICM en los que se desee incorporar una cach s de segundo nivel a ciertas entidades de su aplicaci n 1 2 Conocimientos Previos Para un completo entendimiento del documento el lector deber tener conocimientos previos sobre las siguientes tecnolog as Spring Framework Hibernate Bases de datos Oracle CU 4 de 10 iia Agencia de Framework Atlas ic Inform tica y Comunicaciones de la Comunidad de Madrid Cach s de segundo nivel en Hibernate 2 DESCRIPCI N El Servicio de Cach s de Atlas est dise ado para evitar al desarrollador la labor de configurar las cach s de segundo nivel de Hibernate en una aplicaci n ATLAS De esta forma y bajo una configuraci n sencilla el programador tendr que marcar sus entidades de Hibernate como entidades cacheables y el Servicio de Cach se encargar de configurar y usar las cach s necesarias para las entidades y queries marcadas La cach de Atlas est pensada y optimizada para cachear aquellas entidades que no sufran muchos cambios pero que sin embargo s se lean muy frecuentemente baja tasa de escritura y alta tasa de lectura Es por ello que no se recomienda el cacheo
10. ina autom ticamente si la query va a ser cacheada o no y activa la cach para la consulta 4 5 Cacheo de consultas a Base de Datos mediante Criteria de Hibernate Si se quieren cachear las consultas ejecutadas mediante Criterias de Hibernate se debe hacer a mano bas ndose en las regiones de cache creadas por la anotaci n OAtlasCache La anotaci n ODAtlasCache crea 3 regiones para los queries de cada entidad a cachear con el nombre e query all lt entidad gt para los queries que no tengan filtro Ejemplo query all Cliente e query where lt entidad gt para los queries que tengan filtro y no sea LIKE Ejemplo query where Cliente e query like lt entidad gt para los queries que tengan alg n filtro LIKE Ejemplo query like Cliente Cuando se vaya a ejecutar un Criteria y se quiera cachear se deber hacer con los m todos setCacheable y setCacheRegion seleccionando el nombre de regi n adecuado CU 9 de 10 a Agencia de Framework Atlas ic Inform tica y Comunicaciones de la Comunidad de Madrid Cach s de segundo nivel en Hibernate ejemplo java Criteria criteria getHibernateTemplate getSessionFactory getCurrentSession createCriteria Cliente class criteria add Restrictions egq edad 25 return criteria list 5 RECOMENDACIONES Y BUENAS PRACTICAS El uso de las cach s de segundo nivel en una aplicaci n debe ser estudiado conjuntamente por el rea de Arquitectura y el responsa
11. ntinuaci n se explican las 2 anotaciones 4 1 ANOTACI N Cache Al anotar una entidad con VCache indicamos a Hibernate que queremos que utilice las cach s de segundo nivel para esa entidad De las propiedades de la anotaci n OCache solo se usar la propiedad usage para indicar la estrategia de concurrencia de la cach Esta propiedad puede tener los siguientes valores WEET Explicaci n Read only Es la estrategia de concurrencia menos estricta Ideal para datos que nunca cambian Nonstrinct read write Se recomienda este tipo de cach s para entidades que sean cat logos o entidades de negocio que cambien poco No ofrece ninguna garant a de consistencia entre la cach y la base de datos Para sincronizar los objetos de la cach con la base de datos se utilizan timeouts de modo que cuando caduca el timeout se recargan los datos Con esta estrategia se tiene un intervalo en el cual existe el riesgo de obtener objetos desfasados Cuando Hibernate realiza una operaci n de flush en una sesi n se invalidan los objetos de la cach de segundo nivel A n as esta es una operaci n as ncrona y nunca se tienen garant as de que otro usuario no pueda leer datos err neos A pesar de todo esto esta estrategia es ideal para almacenar datos que no sean demasiado cr ticos Read write No se permite el uso de esta estrategia en las cach s de ATLAS Mantiene un aislamiento hasta el nivel de commited utilizando un sist

Download Pdf Manuals

image

Related Search

Related Contents

PHD 4400 Syringe Pump Series User`s Manual  AIM R5.0 Software Update Manager  TRAX I Manual - JAMAR Technologies    Owners Manual for APSX APSINT Inverters 932752 English  (Manual de Configuración de Accesos Remotos a Internet  Philips InStyle Ceiling light 37926/17/16  Choicemed Pulse Oximeter User Manual  

Copyright © All rights reserved.
Failed to retrieve file