Package org.infinispan.affinity.impl
Class KeyAffinityServiceImpl<K>
- java.lang.Object
-
- org.infinispan.affinity.impl.KeyAffinityServiceImpl<K>
-
- All Implemented Interfaces:
KeyAffinityService<K>
,org.infinispan.commons.api.Lifecycle
- Direct Known Subclasses:
KeyAffinityServiceImpl
@ThreadSafe public class KeyAffinityServiceImpl<K> extends Object implements KeyAffinityService<K>
Implementation of KeyAffinityService.- Since:
- 4.1
- Author:
- Mircea.Markus@jboss.com
-
-
Field Summary
Fields Modifier and Type Field Description static float
THRESHOLD
-
Constructor Summary
Constructors Constructor Description KeyAffinityServiceImpl(Executor executor, Cache<? extends K,?> cache, KeyGenerator<? extends K> keyGenerator, int bufferSize, Collection<Address> filter, boolean start)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Map<Address,BlockingQueue<K>>
getAddress2KeysMapping()
K
getCollocatedKey(K otherKey)
Returns a key that will be distributed on the same node as the supplied key.K
getKeyForAddress(Address address)
Returns a key that will be distributed on the cluster node identified by address.int
getMaxNumberOfKeys()
void
handleCacheStopped(CacheStoppedEvent cse)
void
handleViewChange(TopologyChangedEvent<?,?> vce)
boolean
isKeyGeneratorThreadActive()
boolean
isKeyGeneratorThreadAlive()
boolean
isStarted()
Checks weather or not the service is started.void
start()
Invoked on component startvoid
stop()
Invoked on component stop
-
-
-
Field Detail
-
THRESHOLD
public static final float THRESHOLD
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
KeyAffinityServiceImpl
public KeyAffinityServiceImpl(Executor executor, Cache<? extends K,?> cache, KeyGenerator<? extends K> keyGenerator, int bufferSize, Collection<Address> filter, boolean start)
-
-
Method Detail
-
getCollocatedKey
public K getCollocatedKey(K otherKey)
Description copied from interface:KeyAffinityService
Returns a key that will be distributed on the same node as the supplied key.- Specified by:
getCollocatedKey
in interfaceKeyAffinityService<K>
- Parameters:
otherKey
- the key for which we need a collocation- Returns:
- a key object
-
getKeyForAddress
public K getKeyForAddress(Address address)
Description copied from interface:KeyAffinityService
Returns a key that will be distributed on the cluster node identified by address.- Specified by:
getKeyForAddress
in interfaceKeyAffinityService<K>
- Parameters:
address
- identifying the cluster node.- Returns:
- a key object
-
start
public void start()
Description copied from interface:org.infinispan.commons.api.Lifecycle
Invoked on component start- Specified by:
start
in interfaceorg.infinispan.commons.api.Lifecycle
-
stop
public void stop()
Description copied from interface:org.infinispan.commons.api.Lifecycle
Invoked on component stop- Specified by:
stop
in interfaceorg.infinispan.commons.api.Lifecycle
-
handleViewChange
public void handleViewChange(TopologyChangedEvent<?,?> vce)
-
isKeyGeneratorThreadAlive
public boolean isKeyGeneratorThreadAlive()
-
handleCacheStopped
public void handleCacheStopped(CacheStoppedEvent cse)
-
getAddress2KeysMapping
public Map<Address,BlockingQueue<K>> getAddress2KeysMapping()
-
getMaxNumberOfKeys
public int getMaxNumberOfKeys()
-
isKeyGeneratorThreadActive
public boolean isKeyGeneratorThreadActive()
-
isStarted
public boolean isStarted()
Description copied from interface:KeyAffinityService
Checks weather or not the service is started.- Specified by:
isStarted
in interfaceKeyAffinityService<K>
-
-