Class GlueEhCacheManager

java.lang.Object
com.poscoict.glueframework.cache.ehcache.GlueEhCacheManager
All Implemented Interfaces:
GlueCacheManager, DisposableBean, InitializingBean
Direct Known Subclasses:
GlueRemoteEhCacheManager

public class GlueEhCacheManager extends Object implements GlueCacheManager, InitializingBean, DisposableBean
CacheManager 구현체. EhCache를 지원하는 클래스이다. EhCache는 CacheManager를 생성하는 것으로 시작되는데, Singleton 과 Instance로 생성할 수 있다. GlueEhCacheManager는 Singleton CacheManger를 생성한다.
기존의 GlueCacheManager를 확장하여 만들었으며 JCS에서 regionName은 EhCache에서는 managerName과 동일하다 JCS에서 CacheHolder를 사용한 것과 달리 EhCacheManager는 CacheManager내의 자료구조를 이용하여 관리한다.
 Bean Property

 - location : (선택) ehcache.xml 의 경로를 지정.  classpath 상의 위치 또는 그외의 위치를 지정할 수 있음



 예제
 
 사용 예# 1

     <bean id="cacheManager" class="com.poscoict.glueframework.cache.ehcache.GlueEhCacheManager"/>


 사용 예# 2

     <bean id="cacheManager" class="com.poscoict.glueframework.cache.ehcache.GlueEhCacheManager">
         <property name="location" value="ehcache.xml"/>
     </bean>


 사용 예# 3

     <bean id="cacheManager" class="com.poscoict.glueframework.cache.ehcache.GlueEhCacheManager">
         <property name="location" value="file:C:/tmp/ehcache.xml"/>
     </bean>


 사용 예# 4

     <bean id="cacheManager" class="com.poscoict.glueframework.cache.ehcache.GlueEhCacheManager">
         <property name="location" value="file:${CONFIG_PATH}/ehcache.xml"/>
     </bean>


 참고 : ehcache.xml 파일 내용

     <?xml version="1.0" encoding="UTF-8"?>
     <ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:noNamespaceSchemaLocation="http://ehcache.org/ehcache.xsd" updateCheck="false" name="__DEFAULT__">

         <cache name="_default-region" maxElementsInMemory="500" eternal="true" />
         <cache name="_sql-region" maxElementsInMemory="500" eternal="true" />
         <cache name="_message-definition-region" maxElementsInMemory="500" eternal="true" />
         <cache name="_service-region" maxElementsInMemory="500" eternal="true" />
         <cache name="_column-region" maxElementsInMemory="500" eternal="true" />
     </ehcache>
 
Author:
송범용
  • Field Details

    • logger

      protected final org.slf4j.Logger logger
      logger
  • Constructor Details

    • GlueEhCacheManager

      public GlueEhCacheManager()
  • Method Details

    • getLocation

      public Resource getLocation()
      getter method for DI.
      Returns:
      location
    • setLocation

      public void setLocation(Resource location)
      setter method for DI.
      Parameters:
      location -
    • getCacheObject

      public Object getCacheObject(Object cacheKey)
      Description copied from interface: GlueCacheManager
      디폴드 캐쉬 영역에서 캐쉬 키에 해당하는 오브젝트를 리턴. 해당 오브젝트가 없을 때에는 null을 리턴함.
      Specified by:
      getCacheObject in interface GlueCacheManager
      Parameters:
      cacheKey - 캐쉬 키
      Returns:
      캐쉬된 오브젝트
    • getCacheObject

      public Object getCacheObject(Object cacheKey, String name)
      주어진 캐쉬 영역에서 캐쉬 키에 해당하는 오브젝트를 리턴. 해당 오브젝트가 없을 때에는 null을 리턴함.
      Specified by:
      getCacheObject in interface GlueCacheManager
      Parameters:
      cacheKey - 캐쉬 키
      name - 캐쉬 영역명 : cache 의 name(ex. _default-region)
      Returns:
      캐쉬된 오브젝트
    • getCacheObject

      public <T> T getCacheObject(Object cacheKey, Class<T> valueClass)
      Description copied from interface: GlueCacheManager
      디폴드 캐쉬 영역에서 캐쉬 키에 해당하는 오브젝트를 리턴. 해당 오브젝트가 없을 때에는 null을 리턴함.
      Specified by:
      getCacheObject in interface GlueCacheManager
      Parameters:
      cacheKey - 캐쉬 키
      valueClass - 오브젝트 클래스
      Returns:
      캐쉬된 오브젝트
    • getCacheObject

      public <T> T getCacheObject(Object cacheKey, String name, Class<T> valueClass)
      Description copied from interface: GlueCacheManager
      주어진 캐쉬 영역에서 캐쉬 키에 해당하는 오브젝트를 리턴. 해당 오브젝트가 없을 때에는 null을 리턴함.
      Specified by:
      getCacheObject in interface GlueCacheManager
      Parameters:
      cacheKey - 캐쉬 키
      name - 캐쉬 영역명
      valueClass - 오브젝트 클래스
      Returns:
      캐쉬된 오브젝트
    • getCacheObject

      public <T> T getCacheObject(Object cacheKey, String name, GlueCacheLoader loader, Class<T> valueClass)
      Description copied from interface: GlueCacheManager
      주어진 캐쉬 영역에서 캐쉬 키에 해당하는 오브젝트를 리턴. 해당 오브젝트가 없을 때에는 주어진 캐쉬 로더를 이용하여 오브젝트를 로딩하여 리턴함.
      Specified by:
      getCacheObject in interface GlueCacheManager
      Parameters:
      cacheKey - 캐쉬 키
      name - 캐쉬 영역명
      loader - 캐쉬 로더
      valueClass - 오브젝트 클래스
      Returns:
      캐쉬된 오브젝트
    • getCacheObject

      public Object getCacheObject(Object cacheKey, String name, GlueCacheLoader loader)
      Description copied from interface: GlueCacheManager
      주어진 캐쉬 영역에서 캐쉬 키에 해당하는 오브젝트를 리턴. 해당 오브젝트가 없을 때에는 주어진 캐쉬 로더를 이용하여 오브젝트를 로딩하여 리턴함.
      Specified by:
      getCacheObject in interface GlueCacheManager
      Parameters:
      cacheKey - 캐쉬 키
      name - 캐쉬 영역명
      loader - 캐쉬 로더
      Returns:
      캐쉬된 오브젝트
    • putCacheObject

      public void putCacheObject(Object cacheKey, Object cacheObject)
      Description copied from interface: GlueCacheManager
      디폴트 캐쉬 영역에 주어진 키를 사용하여 오브젝트를 캐슁 함
      Specified by:
      putCacheObject in interface GlueCacheManager
      Parameters:
      cacheKey - 캐쉬 키
      cacheObject - 캐쉬 대상 오브젝트
    • putCacheObject

      public void putCacheObject(Object cacheKey, Object cacheObject, String name)
      Description copied from interface: GlueCacheManager
      캐쉬 영역에 주어진 키를 사용하여 오브젝트를 캐슁 함
      Specified by:
      putCacheObject in interface GlueCacheManager
      Parameters:
      cacheKey - 캐쉬 키
      cacheObject - 캐쉬 대상 오브젝트
      name - 캐쉬 영역명
    • isPresent

      public boolean isPresent(Object cacheKey)
      Description copied from interface: GlueCacheManager
      디폴트 캐쉬 영역에 주어진 키를 사용하여 오브젝트의 존재여부를 확인
      Specified by:
      isPresent in interface GlueCacheManager
      Parameters:
      cacheKey - 캐쉬 키
      Returns:
      존재하면 true
    • isPresent

      public boolean isPresent(Object cacheKey, String name)
      Description copied from interface: GlueCacheManager
      캐쉬 영역에 주어진 키를 사용하여 오브젝트의 존재여부를 확인
      Specified by:
      isPresent in interface GlueCacheManager
      Parameters:
      cacheKey - 캐쉬 키
      name - 캐쉬 영역명
      Returns:
      존재하면 true
    • removeCacheObject

      public void removeCacheObject(Object cacheKey)
      Description copied from interface: GlueCacheManager
      디폴트 캐쉬 영역에 주어진 키를 사용하여 오브젝트를 삭제함
      Specified by:
      removeCacheObject in interface GlueCacheManager
      Parameters:
      cacheKey - 캐쉬 키
    • removeCacheObject

      public void removeCacheObject(Object cacheKey, String name)
      Description copied from interface: GlueCacheManager
      캐쉬 영역에 주어진 키를 사용하여 오브젝트를 삭제함
      Specified by:
      removeCacheObject in interface GlueCacheManager
      Parameters:
      cacheKey - 캐쉬 키
      name - 캐쉬 영역명
    • clear

      public void clear()
      Description copied from interface: GlueCacheManager
      디폴트 캐쉬 영역의 모든 오브젝트를 삭제함
      Specified by:
      clear in interface GlueCacheManager
    • clear

      public void clear(String name)
      Description copied from interface: GlueCacheManager
      캐쉬 영역의 모든 오브젝트를 삭제함
      Specified by:
      clear in interface GlueCacheManager
      Parameters:
      name - 캐쉬 영역명
    • afterPropertiesSet

      public void afterPropertiesSet() throws Exception
      Specified by:
      afterPropertiesSet in interface InitializingBean
      Throws:
      Exception
    • destroy

      public void destroy() throws Exception
      Specified by:
      destroy in interface DisposableBean
      Throws:
      Exception