0

我想使用 java 代码清除 jboss 缓存,为此我实现以下代码:

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

        cache.flush();
    }

这段代码正确吗?以及如何确定 JBoss 缓存已成功清除?谢谢你

4

1 回答 1

1

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

于 2013-08-16T07:31:31.617 回答