2013-08-16 4 views
0

я хочу, чтобы очистить кэш JBoss с использованием кода Java и для этой цели i'im реализовать следующий код:очистить кэш JBoss с помощью кода Java

public void clearCache(String s){ 
     String[] st=CacheManager.getInstance().getCacheNames(); 
     Cache cache =CacheManager.getInstance().getCache(s); 

     cache.flush(); 
    } 

этот код правильно? и как я могу быть уверен, что кеш JBoss успешно очищен? спасибо

ответ

1

У вас есть три ошибки в коде. Во-первых, вам не нужно запрашивать getCacheNames(); вы уже передаете имя кэша, который хотите очистить, и вы просто отбрасываете результаты в st. Затем нет такого метода, как CacheManager#getCache(String); это getCache(String, boolean) throws Exception, и вам нужно пройти s, false и обрабатывать (слишком широко Exception). Наконец, вы никогда не проверяете, действительно ли кеш существует; если кто-то передает имя, несущее несуществующий кеш, cache будет null, и вы получите NPE при попытке flush().

+0

Большое вам спасибо, но есть ли способ убедиться, что кеш очищен или нет? – ofloflofl

+0

Невозможно очистить кеш, который не существует. – chrylis

+0

если кеш существует, есть ли способ? – ofloflofl

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