2012-05-09 91 views
1

我如何圍繞我的Ehcache試圖捕捉以確保它已正確啓動?Java你如何初始化Ehcache?

+1

你在做編程初始化或xml配置初始化?這將是很好,如果你可以張貼更多的細節... –

+0

@Sridhar是的,我爲缺乏細節而道歉。我是新手,所以我甚至不知道如何正確啓動對象。我以編程方式初始化它 – stackoverflow

+1

從您的問題中,您可能想要在構建EhCache實現時捕獲'CacheException()'。 'EhCache cache = null;嘗試{cache = new(WHATEVER CACHE TYPE YOU WANT)()} catch(CacheException ce){/ * something * /}' - 我推薦閱讀[Getting Started doc](http://ehcache.org/documentation/get -started /工具入門)。 – birryree

回答

2

您可以編寫檢查緩存與CacheManager中如狀態封套方法,

/** 
* 
* @return true if Caching system is live otherwise false 
*/ 
public boolean isAlive() 
{ 
    return net.sf.ehcache.Status.STATUS_ALIVE == cacheManager.getStatus(); 
} 

您可以隨時換你的緩存調用作爲

public Object getVal(Object aKey, Object aDefaultValue) 
{ 
    Element element = null; 

    if (Util.isAlive()) 
    { 
     try 
     { 
      element = cache.get(aKey); 
     } 
     catch (IllegalStateException e) 
     { 
      //Log it 
     } 
     catch (RuntimeException r) 
     { 
      //Log it 
     } 
    } 

    return ((element == null) ? aDefaultValue : element.getObjectValue()); 
} 

希望這有助於

+0

謝謝錢德拉,我相信這就是我要找的:) – stackoverflow