hibernate+ehcache 集群配置

J2EE 码拜 9年前 (2016-03-20) 1264次浏览
照着网上的方法,配了一下ehcache的集群。但发现,不起效果。改了一边,另外一台服务器上的缓存没改。
本人贴一下配置。帮本人看下什么问题,还是说原因是本人这个cache name,直接对应了一个实体,是不行的,需要实体里,再去写缓存处理的代码。rmiUrls里要指定缓存名称,那么defaultCache的怎么办。

<?xml version="1.0"?>
<ehcache updateCheck="false" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation="../config/ehcache.xsd">
    <diskStore path="java.io.tmpdir" />
    <cache name="com.wxbusiness.entities.Distributor" maxElementsInMemory="3000" eternal="false"
        timeToIdleSeconds="3600" timeToLiveSeconds="7200" overflowToDisk="true"
        maxElementsOnDisk="10000" diskPersistent="false"
        diskExpiryThreadIntervalSeconds="120" memoryStoreEvictionPolicy="LRU">
        <cacheEventListenerFactory class="net.sf.ehcache.distribution.RMICacheReplicatorFactory"
            properties="replicateAsynchronously=true, 
            replicatePuts=true, replicateUpdates=true,replicateUpdatesViaCopy=false, 
            replicateRemovals=true "/>
        <bootstrapCacheLoaderFactory  
                class="net.sf.ehcache.distribution.RMIBootstrapCacheLoaderFactory"/>
    </cache>
    <defaultCache name="dCache" maxElementsInMemory="1000" eternal="false"
        timeToIdleSeconds="3600" timeToLiveSeconds="3600" overflowToDisk="false"
        maxElementsOnDisk="10000" diskPersistent="false"
        diskExpiryThreadIntervalSeconds="120" memoryStoreEvictionPolicy="LRU" > 
        <cacheEventListenerFactory class="net.sf.ehcache.distribution.RMICacheReplicatorFactory"
            properties="replicateAsynchronously=true, 
            replicatePuts=true, replicateUpdates=true,replicateUpdatesViaCopy=false, 
            replicateRemovals=true "/>
        <bootstrapCacheLoaderFactory  
                class="net.sf.ehcache.distribution.RMIBootstrapCacheLoaderFactory"/>
    </defaultCache>
    <cacheManagerPeerProviderFactory 
        class="net.sf.ehcache.distribution.RMICacheManagerPeerProviderFactory" 
        properties="
        socketTimeoutMillis=2000,
        peerDiscovery=manual,
        rmiUrls=//192.168.1.104:40002/com.wxbusiness.entities.Distributor|//192.168.1.104:40002/dCache"
    />
    <cacheManagerPeerListenerFactory 
        class="net.sf.ehcache.distribution.RMICacheManagerPeerListenerFactory"
         properties="hostName=192.168.1.104,port=40001,socketTimeoutMillis=120000"/> 
         
</ehcache>
解决方案

40

hibernate直接把多种/多个实体 放在一个ehcache的cache中。 不需要多个ehcache 的cache,代码中也不需要本人写对象到cache读写
简单说  hibernate+ehcache只是配置(含 annotation),基于hibernate的应用层代码中没有变化

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明hibernate+ehcache 集群配置
喜欢 (0)
[1034331897@qq.com]
分享 (0)