hibernate+ehcache 集群配置

经常在黑云中出没 2016-04-21 02:47:29
照着网上的方法,配了一下ehcache的集群。但发现,不起效果。改了一边,另外一台服务器上的缓存没改。

我贴一下配置。帮我看下什么问题,还是说因为我这个cache name,直接对应了一个实体,是不行的,需要实体里,再去写缓存处理的代码。


<?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>
<!-- 集群 另外两台地址:rmiUrls=//127.0.0.1:8081/oschina_cache|//192.168.0.13:4567/oschina_cache -->
<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"/>
<!--
<cacheManagerPeerProviderFactory
class="net.sf.ehcache.distribution.RMICacheManagerPeerProviderFactory"
properties="peerDiscovery=automatic, multicastGroupAddress=230.0.0.1,
multicastGroupPort=4446, timeToLive=32,hostName=192.168.1.104" />
-->
</ehcache>
...全文
227 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuguiyi100 2016-07-05
  • 打赏
  • 举报
回复
多个cache怎么设置 这里只能设置一个cache://127.0.0.1:8081/oschina_cache
  • 打赏
  • 举报
回复
引用 3 楼 tianfang 的回复:
cacheManagerPeerListenerFactory  是自己的IP cacheManagerPeerProviderFactory  是其他服务器IP 你的值都一样 当然不对了
这个之前已经改过了,就是自定义的cache是可以的。但是defaultCache不行
tianfang 2016-04-29
  • 打赏
  • 举报
回复
cacheManagerPeerListenerFactory  是自己的IP cacheManagerPeerProviderFactory  是其他服务器IP 你的值都一样 当然不对了
  • 打赏
  • 举报
回复
半夜来顶一下
  • 打赏
  • 举报
回复
我如果用 CacheManager cacheManager = new CacheManager("src/main/resources/ehcache.xml"); Cache cache = cacheManager.getCache("memoryCache"); System.out.println("slave:" + cache.get("data").getObjectValue()); 这样的方式没问题的,但是,直接用hibernate的实体,貌似就不会去同步,不知道要做什么设置不。

25,985

社区成员

发帖
与我相关
我的任务
社区描述
高性能WEB开发
社区管理员
  • 高性能WEB开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧