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 Summary
FieldsModifier and TypeFieldDescriptionprotected GlueJCSCacheHolder
캐쉬 영역을 관리하는 홀더 (singleton object)protected final org.slf4j.Logger
logger -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
void
clear()
디폴트 캐쉬 영역의 모든 오브젝트를 삭제함void
캐쉬 영역의 모든 오브젝트를 삭제함void
destroy()
getCacheObject
(Object cacheKey) 디폴드 캐쉬 영역에서 캐쉬 키에 해당하는 오브젝트를 리턴.<T> T
getCacheObject
(Object cacheKey, Class<T> valueClass) 디폴드 캐쉬 영역에서 캐쉬 키에 해당하는 오브젝트를 리턴.getCacheObject
(Object cacheKey, String regionName) 주어진 캐쉬 영역에서 캐쉬 키에 해당하는 오브젝트를 리턴.getCacheObject
(Object cacheKey, String regionName, GlueCacheLoader loader) 주어진 캐쉬 영역에서 캐쉬 키에 해당하는 오브젝트를 리턴.<T> T
getCacheObject
(Object cacheKey, String regionName, GlueCacheLoader loader, Class<T> valueClass) 주어진 캐쉬 영역에서 캐쉬 키에 해당하는 오브젝트를 리턴.<T> T
getCacheObject
(Object cacheKey, String regionName, Class<T> valueClass) 주어진 캐쉬 영역에서 캐쉬 키에 해당하는 오브젝트를 리턴.boolean
디폴트 캐쉬 영역에 주어진 키를 사용하여 오브젝트의 존재여부를 확인boolean
캐쉬 영역에 주어진 키를 사용하여 오브젝트의 존재여부를 확인void
putCacheObject
(Object cacheKey, Object cacheObject) 디폴트 캐쉬 영역에 주어진 키를 사용하여 오브젝트를 캐슁 함void
putCacheObject
(Object cacheKey, Object cacheObject, String regionName) 캐쉬 영역에 주어진 키를 사용하여 오브젝트를 캐슁 함void
removeCacheObject
(Object cacheKey) 디폴트 캐쉬 영역에 주어진 키를 사용하여 오브젝트를 삭제함void
removeCacheObject
(Object cacheKey, String regionName) 캐쉬 영역에 주어진 키를 사용하여 오브젝트를 삭제함
-
Field Details
-
logger
protected final org.slf4j.Logger loggerlogger -
cacheHolder
캐쉬 영역을 관리하는 홀더 (singleton object)
-
-
Constructor Details
-
GlueJCSCacheManager
public GlueJCSCacheManager()
-
-
Method Details
-
getCacheObject
Description copied from interface:GlueCacheManager
디폴드 캐쉬 영역에서 캐쉬 키에 해당하는 오브젝트를 리턴. 해당 오브젝트가 없을 때에는 null을 리턴함.- Specified by:
getCacheObject
in interfaceGlueCacheManager
- Parameters:
cacheKey
- 캐쉬 키- Returns:
- 캐쉬된 오브젝트
-
getCacheObject
Description copied from interface:GlueCacheManager
디폴드 캐쉬 영역에서 캐쉬 키에 해당하는 오브젝트를 리턴. 해당 오브젝트가 없을 때에는 null을 리턴함.- Specified by:
getCacheObject
in interfaceGlueCacheManager
- Parameters:
cacheKey
- 캐쉬 키valueClass
- 오브젝트 클래스- Returns:
- 캐쉬된 오브젝트
-
getCacheObject
Description copied from interface:GlueCacheManager
주어진 캐쉬 영역에서 캐쉬 키에 해당하는 오브젝트를 리턴. 해당 오브젝트가 없을 때에는 null을 리턴함.- Specified by:
getCacheObject
in interfaceGlueCacheManager
- Parameters:
cacheKey
- 캐쉬 키regionName
- 캐쉬 영역명- Returns:
- 캐쉬된 오브젝트
-
getCacheObject
Description copied from interface:GlueCacheManager
주어진 캐쉬 영역에서 캐쉬 키에 해당하는 오브젝트를 리턴. 해당 오브젝트가 없을 때에는 null을 리턴함.- Specified by:
getCacheObject
in interfaceGlueCacheManager
- Parameters:
cacheKey
- 캐쉬 키regionName
- 캐쉬 영역명valueClass
- 오브젝트 클래스- Returns:
- 캐쉬된 오브젝트
-
getCacheObject
Description copied from interface:GlueCacheManager
주어진 캐쉬 영역에서 캐쉬 키에 해당하는 오브젝트를 리턴. 해당 오브젝트가 없을 때에는 주어진 캐쉬 로더를 이용하여 오브젝트를 로딩하여 리턴함.- Specified by:
getCacheObject
in interfaceGlueCacheManager
- 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 interfaceGlueCacheManager
- Parameters:
cacheKey
- 캐쉬 키regionName
- 캐쉬 영역명loader
- 캐쉬 로더valueClass
- 오브젝트 클래스- Returns:
- 캐쉬된 오브젝트
-
putCacheObject
Description copied from interface:GlueCacheManager
디폴트 캐쉬 영역에 주어진 키를 사용하여 오브젝트를 캐슁 함- Specified by:
putCacheObject
in interfaceGlueCacheManager
- Parameters:
cacheKey
- 캐쉬 키cacheObject
- 캐쉬 대상 오브젝트
-
putCacheObject
Description copied from interface:GlueCacheManager
캐쉬 영역에 주어진 키를 사용하여 오브젝트를 캐슁 함- Specified by:
putCacheObject
in interfaceGlueCacheManager
- Parameters:
cacheKey
- 캐쉬 키cacheObject
- 캐쉬 대상 오브젝트regionName
- 캐쉬 영역명
-
isPresent
Description copied from interface:GlueCacheManager
디폴트 캐쉬 영역에 주어진 키를 사용하여 오브젝트의 존재여부를 확인- Specified by:
isPresent
in interfaceGlueCacheManager
- Parameters:
cacheKey
- 캐쉬 키- Returns:
- 존재하면 true
-
isPresent
Description copied from interface:GlueCacheManager
캐쉬 영역에 주어진 키를 사용하여 오브젝트의 존재여부를 확인- Specified by:
isPresent
in interfaceGlueCacheManager
- Parameters:
cacheKey
- 캐쉬 키regionName
- 캐쉬 영역명- Returns:
- 존재하면 true
-
removeCacheObject
Description copied from interface:GlueCacheManager
디폴트 캐쉬 영역에 주어진 키를 사용하여 오브젝트를 삭제함- Specified by:
removeCacheObject
in interfaceGlueCacheManager
- Parameters:
cacheKey
- 캐쉬 키
-
removeCacheObject
Description copied from interface:GlueCacheManager
캐쉬 영역에 주어진 키를 사용하여 오브젝트를 삭제함- Specified by:
removeCacheObject
in interfaceGlueCacheManager
- Parameters:
cacheKey
- 캐쉬 키regionName
- 캐쉬 영역명
-
clear
public void clear()Description copied from interface:GlueCacheManager
디폴트 캐쉬 영역의 모든 오브젝트를 삭제함- Specified by:
clear
in interfaceGlueCacheManager
-
clear
Description copied from interface:GlueCacheManager
캐쉬 영역의 모든 오브젝트를 삭제함- Specified by:
clear
in interfaceGlueCacheManager
- Parameters:
regionName
- 캐쉬 영역명
-
afterPropertiesSet
- Specified by:
afterPropertiesSet
in interfaceInitializingBean
- Throws:
Exception
-
destroy
- Specified by:
destroy
in interfaceDisposableBean
- Throws:
Exception
-