java - 使用java代码清除jboss缓存

标签 java jboss ehcache

我想使用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/

相关文章:

ehcache - 缩放 Terracota - 免费且开源?

java - 如何使用运行时加载的属性参数化 ehcache.xml?

java - 仅使用 If 语句查找数组中的元素

java - JAXB 混合版本?未定义 'required' 属性

java - 使用 Mockito 通过一系列依赖类注入(inject) Mock

java - Ubuntu MaxPermSize 上的 Torquebox 设置

java - 垃圾收集器无法释放 JBoss 7.1.1 上的内存,导致 Full GC

java - 关于并行运行线程并在之后返回

jboss - JBoss部署DU时如何解决UnknownHostException

java - 防止对特定类进行 Spring 缓存