2012-05-09 3 views
1

Как окружить попытку поймать вокруг моего Ehcache в попытке убедиться, что он начался правильно?Java Как вы инициализируете Ehcache?

+1

Вы делаете инициализация программ или инициализация xml? Было бы неплохо, если бы вы могли опубликовать несколько подробностей ... –

+0

@Sridhar Да, я извиняюсь из-за отсутствия деталей. Я новичок в ehache, поэтому я даже не знаю, как правильно запустить объект. Я инициализирую его программно – stackoverflow

+1

Из вашего вопроса вы, вероятно, захотите поймать 'CacheException()' при построении реализации 'EhCache'. 'Кеш EhCache = null; try {cache = new (WHATEVER CACHE TYPE YOU WANT)()} catch (CacheException ce) {/ * something * /} '- Я рекомендую прочитать документ [Начало работы] (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

Смежные вопросы