This week's book giveaway is in the Java 8 forum.
We're giving away four copies of Java 8 in Action and have Raoul-Gabriel Urma, Mario Fusco, and Alan Mycroft on-line!
See this thread for details.
The moose likes EhCache and the fly likes distributed caching with ehcache Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Java 8 in Action this week in the Java 8 forum!
JavaRanch » Java Forums » Caching » EhCache
Bookmark "distributed caching with ehcache" Watch "distributed caching with ehcache" New topic
Author

distributed caching with ehcache

Sven Anderson
Ranch Hand

Joined: Apr 14, 2004
Posts: 58
Hi,

I'm having a few question about configurating ehcache for distributed cache replication.

I'm currently configurating cache replication (ehcache 1.4.1) between two servers using manual peer discovery over RMI(see config below).

I'm a bit confused about the output of the log files from the two servers in the following scenario:


step1: ServerA: User adds and object to cache. ServerB writes the following output to its log
DEBUG [net.sf.ehcache.distribution.RMICachePeer] - Remote put received. Element is: [ key = 1234, value=net.xzy.AnonymousCookieEntry@83c3cbfe, version=1221936368875, hitCount=0, CreationTime = 1221936356123, LastAccessTime = 0 ]

step2: ServerA: User request the object from step1 which is now in the cache (performing an element.getValue()). ServerB writes the following output to its log
DEBUG [net.sf.ehcache.distribution.RMICachePeer] - Remote remove received for key: 1234

step3: ServerA: User request the same object from step1 and get it from cache. ServerB now output the following.
DEBUG [net.sf.ehcache.store.MemoryStore] - net.xzy.ANONYMOUS_USER_CACHECache: Cannot remove entry as key 1234 was not found


I don't understand why ServerB in step2 performs a "Remote remove received". Is this the reason it can't find the cache key in step3? My understanding is that both servers should keep the cache objects in sync.

ehcache.xml
<code>
<cacheManagerPeerProviderFactory
class="net.sf.ehcache.distribution.RMICacheManagerPeerProviderFactory"
properties="peerDiscovery=manual,rmiUrls=//${app.system.cache.peer}:40001/net.xzy.ANONYMOUS_USER_CACHE"/>

<cache name="net.xzy.ANONYMOUS_USER_CACHE"
maxElementsInMemory="10000" eternal="true" overflowToDisk="false"
diskPersistent="false"
diskExpiryThreadIntervalSeconds="120"
memoryStoreEvictionPolicy="LRU"
>
<cacheEventListenerFactory
class="net.sf.ehcache.distribution.RMICacheReplicatorFactory"
properties="replicateAsynchronously=true, replicatePuts=true, replicateUpdates=true,
replicateUpdatesViaCopy=false, replicateRemovals=true "/>
</cache>

<cacheManagerPeerListenerFactory
class="net.sf.ehcache.distribution.RMICacheManagerPeerListenerFactory"
properties="port=40001,socketTimeoutMillis=2000"/>
</code>


Thanks
S
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: distributed caching with ehcache
 
Similar Threads
Redisplaying a page after validation due to validation errors?
Error during CacheManager initialization for distributed ehcache implementation
Security Contraints setup..
Problem with ehcache
SQL Exception No suitable driver