[英]Infinispan 8 - cache.clear() - How to understand the javadoc correctly?
[英]How to clear the Infinispan cache
在我的項目中,我們將infinispan用作Hibernate 4的二級緩存。這是persistence.xml中的條目
<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代碼是:
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.NoClassDefFoundError: org/jboss/marshalling/ByteOutput
由java.lang.ClassNotFoundException: org.jboss.marshalling.ByteOutput
引起java.lang.ClassNotFoundException: org.jboss.marshalling.ByteOutput
緩存本身運行正常,我在顯式訪問它時遇到問題。 我以為,如果我調用new DefaulCacheManager()
但將不贊成使用此接口,那么我將獲得唯一的CacheManager。
因此,如果我的路徑完全錯誤,那么如何刪除緩存?
Infinispan 5.2.6
編輯:我也嘗試通過使用幾次嘗試注入CM,特別是@Resource(lookup="java:jboss/infinispan/RuleEngineCache")
批注。 但是,無論是像快速入門示例中那樣使用EmbeddedCacheManager還是不贊成使用CacheManager,都不會注入它。
如果您想清除Hibernate的二級緩存,無論使用哪種緩存提供程序,都應直接調用Hibernate。 調用SessionFactory.getCache().evictAllRegions
應該可以做到這一點,而不必因Infinispan而煩惱。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.