Infinispan:为JVM生命周期缓存选择性实体

时间:2015-05-25 16:12:57

标签: hibernate caching infinispan

环境:

  • Wildfly 8.2
  • Hibernate 4.3.7
  • Infinispan 6.0.2

您好,

问题: 有没有办法,通过注释或声明,我们可以指定应该为JVM生命周期缓存一个实体类型。

背景: 我们有一个JavaEE Web应用程序,我们希望缓存一些实体(它在DB表中只有3行)用于JVM生命周期,同时在短时间内(通过中央配置)使用其他实体。终身原因 - 实体具有一对多映射,其他实体在应用程序中使用率很高。

当前配置:

的persistence.xml

<property name="hibernate.cache.use_second_level_cache" value="true" />
<property name="hibernate.cache.use_query_cache" value="true" />

独立-full.xml

<cache-container name="hibernate" default-cache="local-query" module="org.hibernate">
<local-cache name="entity">
    <locking isolation="READ_COMMITTED"/>
    <transaction mode="NON_XA" locking="OPTIMISTIC"/>
    <eviction strategy="LRU" max-entries="10000"/>
    <expiration max-idle="100000"/>
</local-cache>
<query cache ...>

...

勒凯什

1 个答案:

答案 0 :(得分:2)

您可以查看此question

基本上,您需要添加到persistence.xml:

<hibernate.cache.infinispan.my.<unitname>.<FQN>.eviction.strategy" value="NONE"/>
<hibernate.cache.infinispan.my.<unitname>.<FQN>.eviction.wake_up_interval" value="-1"/>

unitname 是persistence.xml中定义的持久性单元名称。

FQN 是实体的完全限定名称。