我想使用java代码清除jboss缓存,为了这个目标我实现了以下代码:
public void clearCache(String s){
String[] st=CacheManager.getInstance().getCacheNames();
Cache cache =CacheManager.getInstance().getCache(s);
cache.flush();
}
这段代码正确吗?我如何确定 JBoss 缓存已成功清除?谢谢
最佳答案
您的代码中有三个错误。首先,您不需要查询getCacheNames()
;您已经传递了要清除的缓存的名称,并且只是丢弃 st
中的结果。接下来,没有像CacheManager#getCache(String)
这样的方法;它是 getCache(String, boolean) 抛出异常,并且您需要传递 s, false 并处理(过于广泛的异常)。最后,你永远不会检查缓存是否确实存在;如果有人传入一个代表不存在缓存的名称,cache
将为 null
,并且当您尝试 flush()
时,您将得到一个 NPE > 它。
关于java - 使用java代码清除jboss缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18267976/