FileDocCategorySizeDatePackage
DistributedState.javaAPI DocJBoss 4.2.18124Fri Jul 13 20:52:38 BST 2007org.jboss.ha.framework.interfaces

DistributedState

public interface DistributedState
DistributedState is a service on top of HAPartition that provides a cluster-wide distributed state. The DistributedState (DS) service provides a tuple map. Thus, any service, application, container, ... can request its own DS "private space" by working* in its own category (a string name). You work in a category like a Dictionary: you set values by key within a category. Each time a value is added/modified/removed, the modification is made cluster-wide, on all other nodes. Reading values is always made locally (no network access!) Objects can also subscribes to DS events to be notified when some values gets modified/removed/added in a particular category.
author
Sacha Labourey.
author
Scott.Stark@jboss.org
version
$Revision: 57188 $
see
HAPartition

Fields Summary
Constructors Summary
Methods Summary
public java.io.Serializableget(java.lang.String category, java.io.Serializable key)
Read in a value associated to a key in the given category. Read is performed locally.

param
category Name of the private naming-space
param
key The key of the value to read
return
The value of the key in the given category

public java.util.CollectiongetAllCategories()
Return a list of all categories. Call managed locally: no network access.

return
A collection of String representing the existing categories in the DS service.

public java.util.CollectiongetAllKeys(java.lang.String category)
Return a list of all keys in a category. Call managed locally: no network access.

param
category The category under which to look for keys
return
A collection of all keys in the give category

public java.util.CollectiongetAllValues(java.lang.String category)
Return a list of all values in a category. Call managed locally: no network access.

param
category The category name under which to look for values
return
A collection of all values in the give category

public voidregisterDSListener(java.lang.String category, org.jboss.ha.framework.interfaces.DistributedState$DSListener subscriber)
Subscribes to receive {@link DistributedState.DSListener} events

param
category Name of the private-space to watch for
param
subscriber Object that will receive callbacks. This

public voidregisterDSListenerEx(java.lang.String category, org.jboss.ha.framework.interfaces.DistributedState$DSListenerEx subscriber)
Subscribes to receive {@link DistributedState.DSListenerEx} events

param
category Name of the private-space to watch for
param
subscriber Object that will receive callbacks. This

public java.io.Serializableremove(java.lang.String category, java.io.Serializable key)
Remove the key from the ReplicationService in the given category

param
category Name of the category
param
key Key to be removed
throws
Exception if a network exception occurs while removing the entry.

public java.io.Serializableremove(java.lang.String category, java.io.Serializable key, boolean asynchronousCall)
Same as remove(String, String) but caller can choose if the call is made synchronously or asynchronously. By default, calls are asynchronous.

public voidset(java.lang.String category, java.io.Serializable key, java.io.Serializable value)
Associates a value to a key in a specific category

param
category Name of the private naming-space
param
key Name of the data to set
param
value Value of the data to set
throws
Exception If a network communication occurs

public voidset(java.lang.String category, java.io.Serializable key, java.io.Serializable value, boolean asynchronousCall)
Same as set(String, String) but caller can choose if the call is made synchronously or asynchronously. By default, calls are asynchronous.

public voidunregisterDSListener(java.lang.String category, org.jboss.ha.framework.interfaces.DistributedState$DSListener subscriber)
Subscribes from {@link DistributedState.DSListener} events

param
category Name of the private-space dictionary currently observed
param
subscriber object currently observing this category

public voidunregisterDSListenerEx(java.lang.String category, org.jboss.ha.framework.interfaces.DistributedState$DSListenerEx subscriber)
Subscribes from {@link DistributedState.DSListenerEx} events

param
category Name of the private-space dictionary currently observed
param
subscriber object currently observing this category