com.poscoict.glueframework.cache.jcs
Class GlueJCSCacheManager

java.lang.Object
  extended by com.poscoict.glueframework.cache.jcs.GlueJCSCacheManager
All Implemented Interfaces:
GlueCacheManager, org.springframework.beans.factory.DisposableBean, org.springframework.beans.factory.InitializingBean
Direct Known Subclasses:
GlueRemoteJCSCacheManager

public class GlueJCSCacheManager
extends Object
implements GlueCacheManager, org.springframework.beans.factory.InitializingBean, org.springframework.beans.factory.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 Summary
protected  GlueJCSCacheHolder cacheHolder
          캐쉬 영역을 관리하는 홀더 (singleton object)
protected  org.slf4j.Logger logger
          logger
 
Constructor Summary
GlueJCSCacheManager()
           
 
Method Summary
 void afterPropertiesSet()
           
 void clear()
          디폴트 캐쉬 영역의 모든 오브젝트를 삭제함
 void clear(String regionName)
          캐쉬 영역의 모든 오브젝트를 삭제함
 void destroy()
           
 Object getCacheObject(Object cacheKey)
          디폴드 캐쉬 영역에서 캐쉬 키에 해당하는 오브젝트를 리턴.
<T> T
getCacheObject(Object cacheKey, Class<T> valueClass)
          디폴드 캐쉬 영역에서 캐쉬 키에 해당하는 오브젝트를 리턴.
 Object getCacheObject(Object cacheKey, String regionName)
          주어진 캐쉬 영역에서 캐쉬 키에 해당하는 오브젝트를 리턴.
<T> T
getCacheObject(Object cacheKey, String regionName, Class<T> valueClass)
          주어진 캐쉬 영역에서 캐쉬 키에 해당하는 오브젝트를 리턴.
 Object getCacheObject(Object cacheKey, String regionName, GlueCacheLoader loader)
          주어진 캐쉬 영역에서 캐쉬 키에 해당하는 오브젝트를 리턴.
<T> T
getCacheObject(Object cacheKey, String regionName, GlueCacheLoader loader, Class<T> valueClass)
          주어진 캐쉬 영역에서 캐쉬 키에 해당하는 오브젝트를 리턴.
 boolean isPresent(Object cacheKey)
          디폴트 캐쉬 영역에 주어진 키를 사용하여 오브젝트의 존재여부를 확인
 boolean isPresent(Object cacheKey, String regionName)
          캐쉬 영역에 주어진 키를 사용하여 오브젝트의 존재여부를 확인
 void putCacheObject(Object cacheKey, Object cacheObject)
          디폴트 캐쉬 영역에 주어진 키를 사용하여 오브젝트를 캐슁 함
 void putCacheObject(Object cacheKey, Object cacheObject, String regionName)
          캐쉬 영역에 주어진 키를 사용하여 오브젝트를 캐슁 함
 void removeCacheObject(Object cacheKey)
          디폴트 캐쉬 영역에 주어진 키를 사용하여 오브젝트를 삭제함
 void removeCacheObject(Object cacheKey, String regionName)
          캐쉬 영역에 주어진 키를 사용하여 오브젝트를 삭제함
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

logger

protected final org.slf4j.Logger logger
logger


cacheHolder

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

Constructor Detail

GlueJCSCacheManager

public GlueJCSCacheManager()
Method Detail

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 org.springframework.beans.factory.InitializingBean
Throws:
Exception

destroy

public void destroy()
             throws Exception
Specified by:
destroy in interface org.springframework.beans.factory.DisposableBean
Throws:
Exception


Copyright © 2013–2015 POSCO ICT SW제품기술팀. All rights reserved.