Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.jboss.ha.framework.interfaces
Interface DistributedState

All Known Subinterfaces:
  DistributedStateImplMBean

All Known Implementing Classes:
  DistributedStateImpl

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.

Version:
  $Revision: 1.8 $
Author:
  Sacha Labourey., Scott.Stark@jboss.org
See Also:
  `HAPartition`

Nested Class Summary
`static interface` | `DistributedState.DSListener` Deprecated. use the DSListenerEx instead
`static interface` | `DistributedState.DSListenerEx` A generalization of the DSListener that supports the Serializable key type.

Method Summary
`Serializable` | `get(String category, Serializable key)` Read in a value associated to a key in the given category.
`Collection` | `getAllCategories()` Return a list of all categories.
`Collection` | `getAllKeys(String category)` Return a list of all keys in a category.
`Collection` | `getAllValues(String category)` Return a list of all values in a category.
`void` | `registerDSListener(String category, DistributedState.DSListener subscriber)` Subscribes to receive `DistributedState.DSListener` events
`void` | `registerDSListenerEx(String category, DistributedState.DSListenerEx subscriber)` Subscribes to receive `DistributedState.DSListenerEx` events
`Serializable` | `remove(String category, Serializable key)` Remove the key from the ReplicationService in the given category
`Serializable` | `remove(String category, Serializable key, boolean asynchronousCall)` Same as remove(String, String) but caller can choose if the call is made synchronously or asynchronously.
`void` | `set(String category, Serializable key, Serializable value)` Associates a value to a key in a specific category
`void` | `set(String category, Serializable key, Serializable value, boolean asynchronousCall)` Same as set(String, String) but caller can choose if the call is made synchronously or asynchronously.
`void` | `unregisterDSListener(String category, DistributedState.DSListener subscriber)` Subscribes from `DistributedState.DSListener` events
`void` | `unregisterDSListenerEx(String category, DistributedState.DSListenerEx subscriber)` Subscribes from `DistributedState.DSListenerEx` events

Method Detail

### registerDSListenerEx

    public void registerDSListenerEx(String category,
                                     DistributedState.DSListenerEx subscriber)

  Subscribes to receive `DistributedState.DSListenerEx` events

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

### unregisterDSListenerEx

    public void unregisterDSListenerEx(String category,
                                       DistributedState.DSListenerEx subscriber)

  Subscribes from `DistributedState.DSListenerEx` events

  Parameters:
    `category` - Name of the private-space dictionary currently observed
    `subscriber` - object currently observing this category

### registerDSListener

    public void registerDSListener(String category,
                                   DistributedState.DSListener subscriber)

  Subscribes to receive `DistributedState.DSListener` events

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

### unregisterDSListener

    public void unregisterDSListener(String category,
                                     DistributedState.DSListener subscriber)

  Subscribes from `DistributedState.DSListener` events

  Parameters:
    `category` - Name of the private-space dictionary currently observed
    `subscriber` - object currently observing this category

### set

    public void set(String category,
                    Serializable key,
                    Serializable value)
             throws Exception

  Associates a value to a key in a specific category

  Parameters:
    `category` - Name of the private naming-space
    `key` - Name of the data to set
    `value` - Value of the data to set
  Throws:
    `Exception` - If a network communication occurs

### set

    public void set(String category,
                    Serializable key,
                    Serializable value,
                    boolean asynchronousCall)
             throws Exception

  Same as set(String, String) but caller can choose if the call is made synchronously or asynchronously. By default, calls are asynchronous.

  Throws:
    `Exception`

### get

    public Serializable get(String category,
                            Serializable key)

  Read in a value associated to a key in the given category. Read is performed locally.

  Parameters:
    `category` - Name of the private naming-space
    `key` - The key of the value to read
  Returns:
    The value of the key in the given category

### getAllCategories

    public Collection getAllCategories()

  Return a list of all categories. Call managed locally: no network access.

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

### getAllKeys

    public Collection getAllKeys(String category)

  Return a list of all keys in a category. Call managed locally: no network access.

  Parameters:
    `category` - The category under which to look for keys
  Returns:
    A collection of all keys in the give category

### getAllValues

    public Collection getAllValues(String category)

  Return a list of all values in a category. Call managed locally: no network access.

  Parameters:
    `category` - The category name under which to look for values
  Returns:
    A collection of all values in the give category

### remove

    public Serializable remove(String category,
                               Serializable key)
                        throws Exception

  Remove the key from the ReplicationService in the given category

  Parameters:
    `category` - Name of the category
    `key` - Key to be removed
  Throws:
    `Exception` - if a network exception occurs while removing the entry.

### remove

    public Serializable remove(String category,
                               Serializable key,
                               boolean asynchronousCall)
                        throws Exception

  Same as remove(String, String) but caller can choose if the call is made synchronously or asynchronously. By default, calls are asynchronous.

  Throws:
    `Exception`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2002 JBoss Group, LLC. All Rights Reserved.