使用java代码清除jboss缓存

时间:2013-08-16 07:26:05

标签: java jboss ehcache

我想使用java代码清除jboss缓存,为了实现这个目标,我实现了以下代码:

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

        cache.flush();
    }

这段代码是否正确?如何确保JBoss缓存成功清除?谢谢

1 个答案:

答案 0 :(得分:1)

您的代码中有三个错误。首先,您不需要查询getCacheNames();你已经传递了想要清除的缓存的名称,而你只是将结果丢弃在st中。接下来,没有CacheManager#getCache(String)这样的方法;它是getCache(String, boolean) throws Exception,您需要传递s, false并处理(过于宽泛的Exception)。最后,你永远不会检查缓存是否确实存在;如果有人传入代表不存在缓存的名称,cache将为null,当您尝试flush()时,您将获得NPE。