Class ReplicatedHashtable

java.lang.Object
java.util.Dictionary
java.util.Hashtable
org.jgroups.blocks.ReplicatedHashtable
All Implemented Interfaces:
Serializable, Cloneable, Map, MembershipListener, MessageListener

public class ReplicatedHashtable extends Hashtable implements MessageListener, MembershipListener
Deprecated.
Use ReplicatedHashMap instead
Provides the abstraction of a java.util.Hashtable that is replicated at several locations. Any change to the hashtable (clear, put, remove etc) will transparently be propagated to all replicas in the group. All read-only methods will always access the local replica.

Both keys and values added to the hashtable must be serializable, the reason being that they will be sent across the network to all replicas of the group. Having said this, it is now for example possible to add RMI remote objects to the hashtable as they are derived from java.rmi.server.RemoteObject which in turn is serializable. This allows to lookup shared distributed objects by their name and invoke methods on them, regardless of one's onw location. A ReplicatedHashtable thus allows to implement a distributed naming service in just a couple of lines.

An instance of this class will contact an existing member of the group to fetch its initial state.

Contrary to DistributedHashtable, this class does not make use of RpcDispatcher (and RequestCorrelator) but uses plain asynchronous messages instead.

Author:
Bela Ban, Alfonso Olias-Sanz
See Also:
  • Field Details

    • log

      protected final transient org.apache.commons.logging.Log log
      Deprecated.
  • Constructor Details

  • Method Details

    • stateTransferRunning

      public boolean stateTransferRunning()
      Deprecated.
    • getLocalAddress

      public Address getLocalAddress()
      Deprecated.
    • getChannel

      public Channel getChannel()
      Deprecated.
    • addNotifier

      public void addNotifier(ReplicatedHashtable.Notification n)
      Deprecated.
    • addStateTransferListener

      public final void addStateTransferListener(ReplicatedHashtable.StateTransferListener l)
      Deprecated.
    • removeStateTransferListener

      public void removeStateTransferListener(ReplicatedHashtable.StateTransferListener l)
      Deprecated.
    • put

      public Object put(Object key, Object value)
      Deprecated.
      Maps the specified key to the specified value in the hashtable. Neither of both parameters can be null
      Specified by:
      put in interface Map
      Overrides:
      put in class Hashtable
      Parameters:
      key - - the hashtable key
      value - - the value
      Returns:
      the previous value of the specified key in this hashtable, or null if it did not have one
    • putAll

      public void putAll(Map m)
      Deprecated.
      Copies all of the mappings from the specified Map to this Hashtable These mappings will replace any mappings that this Hashtable had for any of the keys currently in the specified Map.
      Specified by:
      putAll in interface Map
      Overrides:
      putAll in class Hashtable
      Parameters:
      m - - Mappings to be stored in this map
    • clear

      public void clear()
      Deprecated.
      Clears this hashtable so that it contains no keys
      Specified by:
      clear in interface Map
      Overrides:
      clear in class Hashtable
    • remove

      public Object remove(Object key)
      Deprecated.
      Removes the key (and its corresponding value) from the Hashtable.
      Specified by:
      remove in interface Map
      Overrides:
      remove in class Hashtable
      Parameters:
      key - - the key to be removed.
      Returns:
      the value to which the key had been mapped in this hashtable, or null if the key did not have a mapping.
    • _putAll

      public void _putAll(Map m)
      Deprecated.
      See Also:
    • receive

      public void receive(Message msg)
      Deprecated.
      Description copied from interface: MessageListener
      Called when a message is received.
      Specified by:
      receive in interface MessageListener
      Parameters:
      msg -
    • getState

      public byte[] getState()
      Deprecated.
      Description copied from interface: MessageListener
      Answers the group state; e.g., when joining.
      Specified by:
      getState in interface MessageListener
      Returns:
      byte[]
    • setState

      public void setState(byte[] new_state)
      Deprecated.
      Description copied from interface: MessageListener
      Sets the group state; e.g., when joining.
      Specified by:
      setState in interface MessageListener
      Parameters:
      new_state -
    • viewAccepted

      public void viewAccepted(View new_view)
      Deprecated.
      Description copied from interface: MembershipListener
      Called when a change in membership has occurred. No long running actions or sending of messages should be done in this callback. If some long running action needs to be performed, it should be done in a separate thread.

      Note that on reception of the first view (a new member just joined), the channel will not yet be in the connected state. This only happens when Channel.connect(String) returns.

      Specified by:
      viewAccepted in interface MembershipListener
    • suspect

      public void suspect(Address suspected_mbr)
      Deprecated.
      Called when a member is suspected
      Specified by:
      suspect in interface MembershipListener
    • block

      public void block()
      Deprecated.
      Block sending and receiving of messages until ViewAccepted is called
      Specified by:
      block in interface MembershipListener