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내의 자료구조를 이용하여 관리한다.
기존의 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 Summary
Fields -
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 name) 주어진 캐쉬 영역에서 캐쉬 키에 해당하는 오브젝트를 리턴.getCacheObject
(Object cacheKey, String name, GlueCacheLoader loader) 주어진 캐쉬 영역에서 캐쉬 키에 해당하는 오브젝트를 리턴.<T> T
getCacheObject
(Object cacheKey, String name, GlueCacheLoader loader, Class<T> valueClass) 주어진 캐쉬 영역에서 캐쉬 키에 해당하는 오브젝트를 리턴.<T> T
getCacheObject
(Object cacheKey, String name, Class<T> valueClass) 주어진 캐쉬 영역에서 캐쉬 키에 해당하는 오브젝트를 리턴.getter method for DI.boolean
디폴트 캐쉬 영역에 주어진 키를 사용하여 오브젝트의 존재여부를 확인boolean
캐쉬 영역에 주어진 키를 사용하여 오브젝트의 존재여부를 확인void
putCacheObject
(Object cacheKey, Object cacheObject) 디폴트 캐쉬 영역에 주어진 키를 사용하여 오브젝트를 캐슁 함void
putCacheObject
(Object cacheKey, Object cacheObject, String name) 캐쉬 영역에 주어진 키를 사용하여 오브젝트를 캐슁 함void
removeCacheObject
(Object cacheKey) 디폴트 캐쉬 영역에 주어진 키를 사용하여 오브젝트를 삭제함void
removeCacheObject
(Object cacheKey, String name) 캐쉬 영역에 주어진 키를 사용하여 오브젝트를 삭제함void
setLocation
(Resource location) setter method for DI.
-
Field Details
-
logger
protected final org.slf4j.Logger loggerlogger
-
-
Constructor Details
-
GlueEhCacheManager
public GlueEhCacheManager()
-
-
Method Details
-
getLocation
getter method for DI.- Returns:
- location
-
setLocation
setter method for DI.- Parameters:
location
-
-
getCacheObject
Description copied from interface:GlueCacheManager
디폴드 캐쉬 영역에서 캐쉬 키에 해당하는 오브젝트를 리턴. 해당 오브젝트가 없을 때에는 null을 리턴함.- Specified by:
getCacheObject
in interfaceGlueCacheManager
- Parameters:
cacheKey
- 캐쉬 키- Returns:
- 캐쉬된 오브젝트
-
getCacheObject
주어진 캐쉬 영역에서 캐쉬 키에 해당하는 오브젝트를 리턴. 해당 오브젝트가 없을 때에는 null을 리턴함.- Specified by:
getCacheObject
in interfaceGlueCacheManager
- Parameters:
cacheKey
- 캐쉬 키name
- 캐쉬 영역명 : cache 의 name(ex. _default-region)- 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
- 캐쉬 키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 interfaceGlueCacheManager
- Parameters:
cacheKey
- 캐쉬 키name
- 캐쉬 영역명loader
- 캐쉬 로더valueClass
- 오브젝트 클래스- Returns:
- 캐쉬된 오브젝트
-
getCacheObject
Description copied from interface:GlueCacheManager
주어진 캐쉬 영역에서 캐쉬 키에 해당하는 오브젝트를 리턴. 해당 오브젝트가 없을 때에는 주어진 캐쉬 로더를 이용하여 오브젝트를 로딩하여 리턴함.- Specified by:
getCacheObject
in interfaceGlueCacheManager
- Parameters:
cacheKey
- 캐쉬 키name
- 캐쉬 영역명loader
- 캐쉬 로더- 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
- 캐쉬 대상 오브젝트name
- 캐쉬 영역명
-
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
- 캐쉬 키name
- 캐쉬 영역명- 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
- 캐쉬 키name
- 캐쉬 영역명
-
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:
name
- 캐쉬 영역명
-
afterPropertiesSet
- Specified by:
afterPropertiesSet
in interfaceInitializingBean
- Throws:
Exception
-
destroy
- Specified by:
destroy
in interfaceDisposableBean
- Throws:
Exception
-