首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何清除Infinispan缓存

如何清除Infinispan缓存
EN

Stack Overflow用户
提问于 2014-06-02 23:51:11
回答 1查看 4.5K关注 0票数 0

在我的项目中,我们使用infinispan作为二级缓存,并结合Hibernate 4。这是来自persistence.xml的条目

代码语言:javascript
复制
<jta-data-source>java:jboss/datasources/RuleEngine</jta-data-source>        
  <shared-cache-mode>ALL</shared-cache-mode>
  <properties>
    <property name="hibernate.show_sql" value="false" />
    <property name="hibernate.dialect" value="org.hibernate.dialect.DB2390Dialect"/>
    <property name="hibernate.cache.use_second_level_cache" value="true" />
    <property name="hibernate.cache.use_query_cache" value="true"/>
    <property name="hibernate.cache.infinispan.cachemanager" value="java:jboss/infinispan/RuleEngineCache"/>
    <property name="hibernate.cache.region.factory_class" value="org.hibernate.cache.infinispan.JndiInfinispanRegionFactory"/>
  </properties>

我想要做的是在点击GUI上的按钮时清除缓存。java代码是:

代码语言:javascript
复制
CacheManager cm = new DefaultCacheManager();
Cache<Object, Object> c = cm.getCache();
c.clear();

我将此代码添加到我的web项目中。

但是我在第一行得到了一个异常,写着Failed to define class org.infinispan.io.ExposedByteArrayOutputStream in Module "deployment.RuleEngineWS-ear.ear.RuleEditor-1.2.0-SNAPSHOT.war:main" from Service Module Loader: java.lang.LinkageError: Failed to link org/infinispan/io/ExposedByteArrayOutputStream (Module "deployment.RuleEngineWS-ear.ear.RuleEditor-1.2.0-SNAPSHOT.war:main" from Service Module Loader)

java.lang.NoClassDefFoundError: org/jboss/marshalling/ByteOutput引起

java.lang.ClassNotFoundException: org.jboss.marshalling.ByteOutput引起

缓存本身工作正常,只是显式访问它有问题。我想,如果我调用new DefaulCacheManager(),我会得到唯一的CacheManager,但是也不推荐使用这个接口。

因此,如果我完全在错误的路径上,我如何删除我的缓存呢?

Infinispan5.2.6

编辑:我还尝试了几次注入CM,尤其是@Resource(lookup="java:jboss/infinispan/RuleEngineCache")注释。但是,无论我是像快速入门示例中那样使用EmbeddedCacheManager,还是使用被弃用的CacheManager,它都没有被注入。

EN

回答 1

Stack Overflow用户

发布于 2014-06-10 21:09:50

如果你想清除Hibernate的二级缓存,而不管缓存提供者是什么,你应该直接调用Hibernate。调用SessionFactory.getCache().evictAllRegions应该可以做到这一点,而不必用Infinispan来弄脏你的手。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23998507

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档