1

我正在使用 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>

而且,休眠属性是这样的:

<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]

任何帮助,将不胜感激 !

4

1 回答 1

0

请检查这个线程你得到的异常(org.hibernate.cache.NoCachingEnabledException)

于 2013-11-15T05:27:38.133 回答