com.atlassian.confluence.cache.hazelcast.hybrid
Class HazelcastEhCacheHybridCacheDeduplicator

java.lang.Object
  extended by com.atlassian.confluence.cache.hazelcast.hybrid.HazelcastEhCacheHybridCacheDeduplicator
All Implemented Interfaces:
CacheDeduplicator

public class HazelcastEhCacheHybridCacheDeduplicator
extends java.lang.Object
implements CacheDeduplicator

A CacheDeduplicator which knows about the interaction between the Hazelcast and EhCache CacheManagers as used by HazelcastHybridCacheManager.

Since:
5.6

Field Summary
 
Fields inherited from interface com.atlassian.confluence.cache.CacheDeduplicator
TO_CACHE_NAME, TO_MANAGED_CACHE_NAME
 
Constructor Summary
HazelcastEhCacheHybridCacheDeduplicator()
           
 
Method Summary
<T> java.util.Collection<T>
mergeAndDeduplicate(java.util.Collection<T> localCaches, java.util.Collection<T> hybridCaches, java.util.Collection<T> distributedCaches, com.google.common.base.Function<T,java.lang.String> nameFunction)
          The hybrid cache manager "hijacks" both ehcache and hazelcast mechanisms, and will fool those other cache managers into returning caches of those types even though they're not really "managed" by those managers.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

HazelcastEhCacheHybridCacheDeduplicator

public HazelcastEhCacheHybridCacheDeduplicator()
Method Detail

mergeAndDeduplicate

public <T> java.util.Collection<T> mergeAndDeduplicate(@Nonnull
                                                       java.util.Collection<T> localCaches,
                                                       @Nonnull
                                                       java.util.Collection<T> hybridCaches,
                                                       @Nonnull
                                                       java.util.Collection<T> distributedCaches,
                                                       @Nonnull
                                                       com.google.common.base.Function<T,java.lang.String> nameFunction)
The hybrid cache manager "hijacks" both ehcache and hazelcast mechanisms, and will fool those other cache managers into returning caches of those types even though they're not really "managed" by those managers. This algorithm takes account of that by giving caches returned by the hybrid manager priority, and ignoring caches of the same name returned from the other cache managers.

Specified by:
mergeAndDeduplicate in interface CacheDeduplicator


Copyright © 2003-2014 Atlassian. All Rights Reserved.