com.poscoict.glueframework.cache.ehcache
Class GlueEhCacheManager

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

public class GlueEhCacheManager
extends Object
implements GlueCacheManager, org.springframework.beans.factory.InitializingBean, org.springframework.beans.factory.DisposableBean

CacheManager 구현체. EhCache를 지원하는 클래스이다. EhCache는 CacheManager를 생성하는 것으로 시작되는데, Singleton 과 Instance로 생성할 수 있다. GlueEhCacheManager는 Singleton CacheManger를 생성한다.
기존의 GlueCacheManager를 확장하여 만들었으며 JCS에서 resionName은 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
protected  org.slf4j.Logger logger
          logger
 
Constructor Summary
GlueEhCacheManager()
           
 
Method Summary
 void afterPropertiesSet()
           
 void clear()
          디폴트 캐쉬 영역의 모든 오브젝트를 삭제함
 void clear(String name)
          캐쉬 영역의 모든 오브젝트를 삭제함
 void destroy()
           
 Object getCacheObject(Object cacheKey)
          디폴드 캐쉬 영역에서 캐쉬 키에 해당하는 오브젝트를 리턴.
<T> T
getCacheObject(Object cacheKey, Class<T> valueClass)
          디폴드 캐쉬 영역에서 캐쉬 키에 해당하는 오브젝트를 리턴.
 Object getCacheObject(Object cacheKey, String name)
          주어진 캐쉬 영역에서 캐쉬 키에 해당하는 오브젝트를 리턴.
<T> T
getCacheObject(Object cacheKey, String name, Class<T> valueClass)
          주어진 캐쉬 영역에서 캐쉬 키에 해당하는 오브젝트를 리턴.
 Object getCacheObject(Object cacheKey, String name, GlueCacheLoader loader)
          주어진 캐쉬 영역에서 캐쉬 키에 해당하는 오브젝트를 리턴.
<T> T
getCacheObject(Object cacheKey, String name, GlueCacheLoader loader, Class<T> valueClass)
          주어진 캐쉬 영역에서 캐쉬 키에 해당하는 오브젝트를 리턴.
 org.springframework.core.io.Resource getLocation()
          getter method for DI.
 boolean isPresent(Object cacheKey)
          디폴트 캐쉬 영역에 주어진 키를 사용하여 오브젝트의 존재여부를 확인
 boolean isPresent(Object cacheKey, String name)
          캐쉬 영역에 주어진 키를 사용하여 오브젝트의 존재여부를 확인
 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(org.springframework.core.io.Resource location)
          setter method for DI.
 
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

Constructor Detail

GlueEhCacheManager

public GlueEhCacheManager()
Method Detail

getLocation

public org.springframework.core.io.Resource getLocation()
getter method for DI.

Returns:

setLocation

public void setLocation(org.springframework.core.io.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 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–2018 POSCO ICT. All rights reserved.