Hibernate二级缓存在读写启动模式下不工作

Hibernate二级缓存在读写启动模式下不工作,hibernate,ehcache,Hibernate,Ehcache,使用ehcache实现的Hibernate二级缓存不适用于“读写”策略。对于“只读”策略,同样的配置也可以正常工作 观察:通过网络访问应用程序时,缓存不工作。当我尝试从存储其部署和缓存数据的机器访问应用程序时,它工作正常 下面给出了ecache.xml配置 <ehcache> <diskStore path="C:\cache" /> <defaultCache maxEntriesLocalHeap="1000" eternal="false" timeT

使用ehcache实现的Hibernate二级缓存不适用于“读写”策略。对于“只读”策略,同样的配置也可以正常工作

观察:通过网络访问应用程序时,缓存不工作。当我尝试从存储其部署和缓存数据的机器访问应用程序时,它工作正常

下面给出了ecache.xml配置

<ehcache>
<diskStore path="C:\cache" />
<defaultCache maxEntriesLocalHeap="1000" eternal="false"
    timeToIdleSeconds="0" timeToLiveSeconds="2000" overflowToDisk="true" diskPersistent="true"/>
<cache name="com.org.ReadData"
    maxEntriesLocalHeap="50000" eternal="false" timeToIdleSeconds="0"
    timeToLiveSeconds="0" overflowToDisk="true" diskPersistent="true">

</cache>

弹簧配置

<property name="hibernateProperties">
        <props>
            <prop key="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</prop>
            <prop key="hibernate.show_sql">false</prop>
            <prop key="hbm2ddl.auto">validate</prop>
            <prop key="hibernate.event.merge.entity_copy_observer">allow</prop>
            <prop key="hibernate.cache.region.factory_class">org.hibernate.cache.ehcache.EhCacheRegionFactory</prop>
            <prop key="hibernate.cache.use_query_cache">true</prop>
            <prop key="hibernate.cache.use_second_level_cache">true</prop>
            <prop key="net.sf.ehcache.configurationResourceName">ecache.xml</prop> 
            <!-- <prop key="hibernate.generate_statistics"> true</prop> -->
        </props>
    </property>

org.hibernate.dialogue.mysql5dialogue
假的
验证
允许
org.hibernate.cache.ehcache.EhCacheRegionFactory
真的
真的
ecache.xml

感谢您对此提供的任何帮助

“不工作”太模糊,无法提供准确的答案。请更详细地说明问题。下面给出了更详细的步骤1)我已部署了web应用程序客户端代码(angular2)、spring服务(使用hibernate与数据库交互)到machine1中的tomcat服务器2)Hibernate缓存存储在machine1中,存储位置为C:\cache 3)使用客户端url(例如:http:\\machine1:8080\app)测试machine1中的web应用程序4)我通过使用Chrome DevTool(网络)重复执行相同的功能来测量rest服务所用的时间5) 观察到第一次服务需要8秒,从第二次开始需要2秒。6)现在我试图通过打开客户端url(http:\\machine1:8080\app)来测试应用程序在另一台机器上。比方说机器2。7)这次我观察到服务总是需要10到15秒,没有时差。请让我知道任何其他澄清