java.lang.Runnable
, MembershipListener
, MessageListener
public class ReplicatedTree extends java.lang.Object implements java.lang.Runnable, MessageListener, MembershipListener
Modifier and Type | Class | Description |
---|---|---|
static class |
ReplicatedTree.Node |
|
static interface |
ReplicatedTree.ReplicatedTreeListener |
Modifier and Type | Field | Description |
---|---|---|
protected org.apache.commons.logging.Log |
log |
|
static java.lang.String |
SEPARATOR |
Constructor | Description |
---|---|
ReplicatedTree() |
|
ReplicatedTree(java.lang.String groupname,
java.lang.String props,
long state_fetch_timeout) |
Creates a channel with the given properties.
|
ReplicatedTree(java.lang.String groupname,
java.lang.String props,
long state_fetch_timeout,
boolean jmx) |
|
ReplicatedTree(JChannel channel) |
Expects an already connected channel.
|
Modifier and Type | Method | Description |
---|---|---|
void |
_put(java.lang.String fqn,
java.lang.String key,
java.lang.Object value) |
|
void |
_put(java.lang.String fqn,
java.util.HashMap data) |
|
void |
_remove(java.lang.String fqn) |
|
void |
_remove(java.lang.String fqn,
java.lang.String key) |
|
void |
_removeData(java.lang.String fqn) |
|
void |
addReplicatedTreeListener(ReplicatedTree.ReplicatedTreeListener listener) |
|
void |
block() |
Block sending and receiving of messages until viewAccepted() is called
|
boolean |
exists(java.lang.String fqn) |
Checks whether a given node exists in the tree
|
void |
fetchState(long timeout) |
Fetch the group state from the current coordinator.
|
java.lang.Object |
get(java.lang.String fqn,
java.lang.String key) |
Finds a node given its name and returns the value associated with a given key in its
data
map. |
Channel |
getChannel() |
Returns the Channel the DistributedTree is connected to
|
java.util.Set |
getChildrenNames(java.lang.String fqn) |
Returns all children of a given node
|
int |
getGroupMembersNumber() |
Returns the number of current members joined to the group
|
java.lang.String |
getGroupName() |
Returns the name of the group that the DistributedTree is connected to
|
java.util.Set |
getKeys(java.lang.String fqn) |
Gets the keys of the
data map. |
Address |
getLocalAddress() |
|
java.util.Vector |
getMembers() |
|
byte[] |
getState() |
Return a copy of the current cache (tree)
|
static void |
main(java.lang.String[] args) |
|
java.lang.String |
print(java.lang.String fqn) |
Prints a representation of the node defined by
fqn . |
void |
put(java.lang.String fqn,
java.lang.String key,
java.lang.Object value) |
Adds a key and value to a given node.
|
void |
put(java.lang.String fqn,
java.util.HashMap data) |
Adds a new node to the tree and sets its data.
|
void |
receive(Message msg) |
Callback.
|
void |
remove(java.lang.String fqn) |
Removes the node from the tree.
|
void |
remove(java.lang.String fqn,
java.lang.String key) |
Removes
key from the node's hashmap |
void |
removeReplicatedTreeListener(ReplicatedTree.ReplicatedTreeListener listener) |
|
void |
run() |
Request handler thread
|
void |
setRemoteCalls(boolean flag) |
|
void |
setRootNode(ReplicatedTree.Node n) |
|
void |
setState(byte[] new_state) |
Set the cache (tree) to this value
|
void |
start() |
|
void |
stop() |
|
void |
suspect(Address suspected_mbr) |
Called when a member is suspected
|
java.lang.String |
toString() |
|
void |
viewAccepted(View new_view) |
Called when a change in membership has occurred.
|
public static final java.lang.String SEPARATOR
protected final org.apache.commons.logging.Log log
public ReplicatedTree(java.lang.String groupname, java.lang.String props, long state_fetch_timeout) throws java.lang.Exception
java.lang.Exception
public ReplicatedTree(java.lang.String groupname, java.lang.String props, long state_fetch_timeout, boolean jmx) throws java.lang.Exception
java.lang.Exception
public ReplicatedTree()
public ReplicatedTree(JChannel channel) throws java.lang.Exception
java.lang.Exception
public void setRemoteCalls(boolean flag)
public void setRootNode(ReplicatedTree.Node n)
public Address getLocalAddress()
public java.util.Vector getMembers()
public void fetchState(long timeout) throws ChannelClosedException, ChannelNotConnectedException
public void addReplicatedTreeListener(ReplicatedTree.ReplicatedTreeListener listener)
public void removeReplicatedTreeListener(ReplicatedTree.ReplicatedTreeListener listener)
public final void start() throws java.lang.Exception
java.lang.Exception
public void stop()
public void put(java.lang.String fqn, java.util.HashMap data)
fqn
- The fully qualified name of the new nodedata
- The new data. May be null if no data should be set in the node.public void put(java.lang.String fqn, java.lang.String key, java.lang.Object value)
fqn
- The fully qualified name of the nodekey
- The keyvalue
- The valuepublic void remove(java.lang.String fqn)
fqn
- The fully qualified name of the node.public void remove(java.lang.String fqn, java.lang.String key)
key
from the node's hashmapfqn
- The fullly qualified name of the nodekey
- The key to be removedpublic boolean exists(java.lang.String fqn)
fqn
- The fully qualified name of the nodepublic java.util.Set getKeys(java.lang.String fqn)
data
map. Returns all keys as Strings. Returns null if node
does not exist.fqn
- The fully qualified name of the nodepublic java.lang.Object get(java.lang.String fqn, java.lang.String key)
data
map. Returns null if the node was not found in the tree or the key was not found in the hashmap.fqn
- The fully qualified name of the node.key
- The key.public java.lang.String print(java.lang.String fqn)
fqn
. Output includes name, fqn and
data.public java.util.Set getChildrenNames(java.lang.String fqn)
fqn
- The fully qualified name of the nodepublic java.lang.String toString()
toString
in class java.lang.Object
public java.lang.String getGroupName()
public Channel getChannel()
public int getGroupMembersNumber()
public void _put(java.lang.String fqn, java.util.HashMap data)
public void _put(java.lang.String fqn, java.lang.String key, java.lang.Object value)
public void _remove(java.lang.String fqn)
public void _remove(java.lang.String fqn, java.lang.String key)
public void _removeData(java.lang.String fqn)
public void receive(Message msg)
receive
in interface MessageListener
public byte[] getState()
getState
in interface MessageListener
public void setState(byte[] new_state)
setState
in interface MessageListener
public void viewAccepted(View new_view)
MembershipListener
Channel.connect(String)
returns.viewAccepted
in interface MembershipListener
public void suspect(Address suspected_mbr)
suspect
in interface MembershipListener
public void block()
block
in interface MembershipListener
public void run()
run
in interface java.lang.Runnable
public static void main(java.lang.String[] args)
Copyright ? 1998-2008 Bela Ban. All Rights Reserved.