|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.jgroups.blocks.PartitionedHashMap<K,V>
public class PartitionedHashMap<K,V>
Hashmap which distributes its keys and values across the cluster. A PUT/GET/REMOVE computes the cluster node to which
or from which to get/set the key/value from a hash of the key and then forwards the request to the remote cluster node.
We also maintain a local cache (L1 cache) which is a bounded cache that caches retrieved keys/values.
Todos:
Nested Class Summary | |
---|---|
static class |
PartitionedHashMap.ArrayBasedConsistentHashFunction<K>
Uses arrays to store hash values of addresses, plus addresses. |
static class |
PartitionedHashMap.ConsistentHashFunction<K>
|
static interface |
PartitionedHashMap.HashFunction<K>
|
Field Summary | |
---|---|
protected static java.util.Map<java.lang.Short,java.lang.reflect.Method> |
methods
|
Constructor Summary | |
---|---|
PartitionedHashMap(java.lang.String props,
java.lang.String cluster_name)
|
Method Summary | |
---|---|
Cache.Value<V> |
_get(K key)
|
V |
_put(K key,
V val,
long caching_time)
|
V |
_remove(K key)
|
void |
addMembershipListener(MembershipListener l)
|
void |
block()
Called (usually by the FLUSH protocol), as an indication that the member should stop sending messages. |
java.lang.String |
dump()
|
V |
get(K key)
|
long |
getCachingTime()
|
long |
getCallTimeout()
|
java.lang.String |
getClusterName()
|
PartitionedHashMap.HashFunction |
getHashFunction()
|
Cache<K,V> |
getL1Cache()
|
Cache<K,V> |
getL2Cache()
|
Address |
getLocalAddress()
|
java.lang.String |
getLocalAddressAsString()
|
java.lang.String |
getProps()
|
java.lang.String |
getView()
|
boolean |
isL1CacheEnabled()
|
boolean |
isMigrateData()
|
void |
put(K key,
V val)
|
void |
put(K key,
V val,
long caching_time)
Adds a key/value to the cache, replacing a previous item if there was one |
void |
remove(K key)
|
void |
removeMembershipListener(MembershipListener l)
|
void |
setCachingTime(long caching_time)
|
void |
setCallTimeout(long call_timeout)
|
void |
setClusterName(java.lang.String cluster_name)
|
void |
setHashFunction(PartitionedHashMap.HashFunction<K> hash_function)
|
void |
setL1Cache(Cache<K,V> cache)
|
void |
setL2Cache(Cache<K,V> cache)
|
void |
setMigrateData(boolean migrate_data)
|
void |
setProps(java.lang.String props)
|
void |
start()
|
void |
stop()
|
void |
suspect(Address suspected_mbr)
Called whenever a member is suspected of having crashed, but has not yet been excluded. |
java.lang.String |
toString()
|
void |
viewAccepted(View new_view)
Called when a change in membership has occurred. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
protected static java.util.Map<java.lang.Short,java.lang.reflect.Method> methods
Constructor Detail |
---|
public PartitionedHashMap(java.lang.String props, java.lang.String cluster_name)
Method Detail |
---|
public java.lang.String getProps()
public void setProps(java.lang.String props)
public Address getLocalAddress()
public java.lang.String getLocalAddressAsString()
public java.lang.String getView()
public boolean isL1CacheEnabled()
public java.lang.String getClusterName()
public void setClusterName(java.lang.String cluster_name)
public long getCallTimeout()
public void setCallTimeout(long call_timeout)
public long getCachingTime()
public void setCachingTime(long caching_time)
public boolean isMigrateData()
public void setMigrateData(boolean migrate_data)
public PartitionedHashMap.HashFunction getHashFunction()
public void setHashFunction(PartitionedHashMap.HashFunction<K> hash_function)
public void addMembershipListener(MembershipListener l)
public void removeMembershipListener(MembershipListener l)
public Cache<K,V> getL1Cache()
public void setL1Cache(Cache<K,V> cache)
public Cache<K,V> getL2Cache()
public void setL2Cache(Cache<K,V> cache)
public void start() throws java.lang.Exception
java.lang.Exception
public void stop()
public void put(K key, V val)
public void put(K key, V val, long caching_time)
key
- The keyval
- The valuecaching_time
- Time to live. -1 means never cache, 0 means cache forever. All other (positive) values
are the number of milliseconds to cache the itempublic V get(K key)
public void remove(K key)
public V _put(K key, V val, long caching_time)
public Cache.Value<V> _get(K key)
public V _remove(K key)
public void viewAccepted(View new_view)
MembershipListener
Channel.connect(String)
returns.
viewAccepted
in interface MembershipListener
public void suspect(Address suspected_mbr)
MembershipListener
suspect
in interface MembershipListener
public void block()
MembershipListener
ExtendedMembershipListener.unblock()
.
Note that block() is the equivalent of reception of a BlockEvent in the pull mode.
block
in interface MembershipListener
public java.lang.String toString()
toString
in class java.lang.Object
public java.lang.String dump()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |