Class GlueJCSCacheManager

java.lang.Object
com.poscoict.glueframework.cache.jcs.GlueJCSCacheManager
All Implemented Interfaces:
GlueCacheManager, DisposableBean, InitializingBean
Direct Known Subclasses:
GlueRemoteJCSCacheManager

public class GlueJCSCacheManager extends Object implements GlueCacheManager, InitializingBean, DisposableBean
CacheManager 구현체. 캐쉬에 관련된 서비스를 제공하기 위해 JCS를 사용해 구현함. 캐쉬 영역별로 캐쉬대상 오브젝트를 저장/추출/삭제 오퍼레이션을 제공한다. 또한 전체 캐쉬영역을 초기화하는 오퍼레이션도 제공한다. Apache Project 의 Java Object Cache 오픈소스 캐쉬 프레임워크를 사용하여 구현됨. GlueJCSCacheManager 오브젝트를 싱글턴으로 사용하도록 권장함. Spring Framework 에서 제공하는 Dependency Injection 패턴 권장. 실행하기 위해서는 cache.ccf 파일을 클래스패스 루트에 위치 시켜야한다.
 Bean Property

 - 없음



 예제
 
 사용 예# 1

     <bean id="cacheManager" class="com.poscoict.glueframework.cache.jcs.GlueJCSCacheManager"/>


 참고 : cache.ccf 파일 내용

     # DEFAULT CACHE REGION
     # sets the default aux value for any non configured caches
     jcs.default=
     jcs.default.cacheattributes=org.apache.jcs.engine.CompositeCacheAttributes
     jcs.default.cacheattributes.MaxObjects=1000000
     jcs.default.cacheattributes.MemoryCacheName=org.apache.jcs.engine.memory.lru.LRUMemoryCache
     jcs.default.elementattributes=org.apache.jcs.engine.ElementAttributes
     jcs.default.elementattributes.IsEternal=false
     jcs.default.elementattributes.MaxLifeSeconds=-1
     jcs.default.elementattributes.IdleTime=1
     jcs.default.elementattributes.IsSpool=true
     jcs.default.elementattributes.IsRemote=false
     jcs.default.elementattributes.IsLateral=true
 
  • Field Details

    • logger

      protected final org.slf4j.Logger logger
      logger
    • cacheHolder

      protected GlueJCSCacheHolder cacheHolder
      캐쉬 영역을 관리하는 홀더 (singleton object)
  • Constructor Details

    • GlueJCSCacheManager

      public GlueJCSCacheManager()
  • Method Details

    • getCacheObject

      public Object getCacheObject(Object cacheKey)
      Description copied from interface: GlueCacheManager
      디폴드 캐쉬 영역에서 캐쉬 키에 해당하는 오브젝트를 리턴. 해당 오브젝트가 없을 때에는 null을 리턴함.
      Specified by:
      getCacheObject in interface GlueCacheManager
      Parameters:
      cacheKey - 캐쉬 키
      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 Object getCacheObject(Object cacheKey, String regionName)
      Description copied from interface: GlueCacheManager
      주어진 캐쉬 영역에서 캐쉬 키에 해당하는 오브젝트를 리턴. 해당 오브젝트가 없을 때에는 null을 리턴함.
      Specified by:
      getCacheObject in interface GlueCacheManager
      Parameters:
      cacheKey - 캐쉬 키
      regionName - 캐쉬 영역명
      Returns:
      캐쉬된 오브젝트
    • getCacheObject

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

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

      public <T> T getCacheObject(Object cacheKey, String regionName, GlueCacheLoader loader, Class<T> valueClass)
      Description copied from interface: GlueCacheManager
      주어진 캐쉬 영역에서 캐쉬 키에 해당하는 오브젝트를 리턴. 해당 오브젝트가 없을 때에는 주어진 캐쉬 로더를 이용하여 오브젝트를 로딩하여 리턴함.
      Specified by:
      getCacheObject in interface GlueCacheManager
      Parameters:
      cacheKey - 캐쉬 키
      regionName - 캐쉬 영역명
      loader - 캐쉬 로더
      valueClass - 오브젝트 클래스
      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 regionName)
      Description copied from interface: GlueCacheManager
      캐쉬 영역에 주어진 키를 사용하여 오브젝트를 캐슁 함
      Specified by:
      putCacheObject in interface GlueCacheManager
      Parameters:
      cacheKey - 캐쉬 키
      cacheObject - 캐쉬 대상 오브젝트
      regionName - 캐쉬 영역명
    • 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 regionName)
      Description copied from interface: GlueCacheManager
      캐쉬 영역에 주어진 키를 사용하여 오브젝트의 존재여부를 확인
      Specified by:
      isPresent in interface GlueCacheManager
      Parameters:
      cacheKey - 캐쉬 키
      regionName - 캐쉬 영역명
      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 regionName)
      Description copied from interface: GlueCacheManager
      캐쉬 영역에 주어진 키를 사용하여 오브젝트를 삭제함
      Specified by:
      removeCacheObject in interface GlueCacheManager
      Parameters:
      cacheKey - 캐쉬 키
      regionName - 캐쉬 영역명
    • clear

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

      public void clear(String regionName)
      Description copied from interface: GlueCacheManager
      캐쉬 영역의 모든 오브젝트를 삭제함
      Specified by:
      clear in interface GlueCacheManager
      Parameters:
      regionName - 캐쉬 영역명
    • 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