在Jboss 7.1.1中使用Infinispan和Hibernate的二级缓存配置

时间:2013-11-12 04:16:04

标签: hibernate jboss7.x infinispan

我正在使用Jboss 7.1.1和Hibernate。我想在单个节点上配置二级缓存。

standalone.xml

<caches>
<cache name="simple" aliases="NoPassivationCache"/>
<cache name="passivating" passivation-store-ref="file" aliases="SimpleStatefulCache"/>
</caches>
<passivation-stores>
<file-passivation-store name="file"/>
</passivation-stores>
<subsystem xmlns="urn:jboss:domain:infinispan:1.2" default-cache-container="hibernate">
<cache-container name="hibernate" default-cache="local-query"> 
<local-cache name="entity">
<transaction mode="NON_XA"/>
<eviction strategy="LRU" max-entries="10000"/>
<expiration max-idle="100000"/>
</local-cache>
<local-cache name="local-query">
<transaction mode="NONE"/>
<eviction strategy="LRU" max-entries="10000"/>
<expiration max-idle="100000"/>
<local-cache>
<local-cache name="timestamps">
<transaction mode="NONE"/>
<eviction strategy="NONE"/>
</local-cache>
</cache-container>
</subsystem>

而且,hibernate属性是这样的:

<prop key="hibernate.cache.use_second_level_cache">true</prop>
<prop key="hibernate.cache.use_query_cache">true</prop>
<prop     key="hibernate.cache.region.factory_class">org.hibernate.cache.infinispan.JndiInfinispanRegionFactory</prop>
<prop key="hibernate.cache.infinispan.cachemanager">java:CacheManager/entity</prop>

当我部署我的应用程序时,会出现以下异常:

17:20:16,949 INFO  [org.hibernate.impl.SessionFactoryObjectFactory] (MSC service thread 1-2) Not binding factory to JNDI, no JNDI name configured
17:20:16,951 INFO  [org.hibernate.cache.UpdateTimestampsCache] (MSC service thread 1-2) starting update timestamps cache at region: org.hibernate.cache.UpdateTimestampsCache
17:20:16,952 INFO  [org.springframework.beans.factory.support.DefaultListableBeanFactory] (MSC service thread 1-2) Destroying singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@8deb1e: defining beans [mvcContentNegotiationManager,org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping#0,org.springframework.format.support.FormattingConversionServiceFactoryBean#0,org.springframework.validation.beanvalidation.LocalValidatorFactoryBean#0,org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter#0,org.springframework.web.servlet.handler.MappedInterceptor#0
...

org.hibernate.cache.NoCachingEnabledException引起。使用[hibernate.cache.use_second_level_cache | hibernate.cache.use_query_cache]时未启用二级缓存。

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

请检查此thread,了解您获得的例外情况 (org.hibernate.cache.NoCachingEnabledException)