站内搜索: 请输入搜索关键词
当前页面: 在线文档首页 > JBoss 4.0.1 sp1 cluster API Documentation 英文版文档

HAPartition (JBoss Cluster API) - JBoss 4.0.1 sp1 cluster API Documentation 英文版文档


org.jboss.ha.framework.interfaces
Interface HAPartition

All Known Implementing Classes:
HAPartitionImpl

public interface HAPartition

Version:
$Revision: 1.10 $

Revisions:

28.07.2002 - Sacha Labourey:

  • Added network-partition merge callback for listeners
Author:
Bill Burke., Sacha Labourey.

Nested Class Summary
static interface HAPartition.AsynchHAMembershipExtendedListener
          A tagging interface for HAMembershipExtendedListener callbacks that will be performed in a thread seperate from the JG protocl handler thread.
static interface HAPartition.AsynchHAMembershipListener
          A tagging interface for HAMembershipListener callbacks that will be performed in a thread seperate from the JG protocl handler thread.
static interface HAPartition.HAMembershipExtendedListener
           
static interface HAPartition.HAMembershipListener
          When a new node joins the cluster or an existing node leaves the cluster (or simply dies), membership events are raised.
static interface HAPartition.HAPartitionStateTransfer
          State management is higly important for clustered services.
 
Method Summary
 void callAsynchMethodOnCluster(String serviceName, String methodName, Object[] args, boolean excludeSelf)
          Deprecated. Use callAsynchMethodOnCluster(String, String, Object[], Class[], boolean) instead
 void callAsynchMethodOnCluster(String serviceName, String methodName, Object[] args, Class[] types, boolean excludeSelf)
          Invoke a asynchronous RPC call on all nodes of the partition/cluster.
 ArrayList callMethodOnCluster(String serviceName, String methodName, Object[] args, boolean excludeSelf)
          Deprecated. Use callMethodOnCluster(String, String, Object[], Class[], boolean) instead
 ArrayList callMethodOnCluster(String serviceName, String methodName, Object[] args, Class[] types, boolean excludeSelf)
          Invoke a synchronous RPC call on all nodes of the partition/cluster
 ClusterNode[] getClusterNodes()
          Return the member nodes that built the current view i.e.
 Vector getCurrentView()
          Return the list of member nodes that built the current view i.e.
 long getCurrentViewId()
          Each time the partition topology changes, a new view is computed.
 DistributedReplicantManager getDistributedReplicantManager()
          Accessor to the DRM that is linked to this partition.
 DistributedState getDistributedStateService()
          Accessor the the DistributedState (DS) that is linked to this partition.
 String getNodeName()
          Return the name of the current name in the current partition.
 String getPartitionName()
          The name of the partition.
 void registerMembershipListener(HAPartition.HAMembershipListener listener)
          Subscribes to receive HAPartition.HAMembershipListener events.
 void registerRPCHandler(String serviceName, Object handler)
          The partition receives RPC calls from other nodes in the cluster and demultiplex them, according to a service name, to a particular service.
 void subscribeToStateTransferEvents(String serviceName, HAPartition.HAPartitionStateTransfer subscriber)
          Register a service that will participate in state transfer protocol and receive callbacks
 void unregisterMembershipListener(HAPartition.HAMembershipListener listener)
          Unsubscribes from receiving HAPartition.HAMembershipListener events.
 void unregisterRPCHandler(String serviceName, Object subscriber)
          Unregister the service from the partition
 void unsubscribeFromStateTransferEvents(String serviceName, HAPartition.HAPartitionStateTransfer subscriber)
          Unregister a service from state transfer callbacks.
 

Method Detail

getNodeName

public String getNodeName()
Return the name of the current name in the current partition. The name is dynamically determined by the partition.

Returns:
The partition name

getPartitionName

public String getPartitionName()
The name of the partition. Either set when creating the partition (MBEAN definition) or uses the default name

Returns:
Name of the current partition

getDistributedReplicantManager

public DistributedReplicantManager getDistributedReplicantManager()
Accessor to the DRM that is linked to this partition.

Returns:
the DRM linked to this partition

getDistributedStateService

public DistributedState getDistributedStateService()
Accessor the the DistributedState (DS) that is linked to this partition.

Returns:
the DistributedState service

registerRPCHandler

public void registerRPCHandler(String serviceName,
                               Object handler)
The partition receives RPC calls from other nodes in the cluster and demultiplex them, according to a service name, to a particular service. Consequently, each service must first subscribe with a particular service name in the partition. The subscriber does not need to implement any specific interface: the call is handled dynamically through reflection.

Parameters:
serviceName - Name of the subscribing service (demultiplexing key)
handler - object to be called when receiving a RPC for its key.

unregisterRPCHandler

public void unregisterRPCHandler(String serviceName,
                                 Object subscriber)
Unregister the service from the partition

Parameters:
serviceName - Name of the service key (on which the demultiplexing occurs)
subscriber - The target object that unsubscribes

callMethodOnCluster

public ArrayList callMethodOnCluster(String serviceName,
                                     String methodName,
                                     Object[] args,
                                     Class[] types,
                                     boolean excludeSelf)
                              throws Exception
Invoke a synchronous RPC call on all nodes of the partition/cluster

Parameters:
serviceName - Name of the target service name on which calls are de-multiplexed
methodName - name of the Java method to be called on remote services
args - array of Java Object representing the set of parameters to be given to the remote method
types - The types of the parameters
excludeSelf - indicates if the RPC must also be made on the current node of the partition or only on remote nodes
Returns:
an array of answers from remote nodes
Throws:
Exception - Throws if a communication exception occurs

callMethodOnCluster

public ArrayList callMethodOnCluster(String serviceName,
                                     String methodName,
                                     Object[] args,
                                     boolean excludeSelf)
                              throws Exception
Deprecated. Use callMethodOnCluster(String, String, Object[], Class[], boolean) instead

Parameters:
serviceName -
methodName -
args -
excludeSelf -
Returns:
Throws:
Exception

callAsynchMethodOnCluster

public void callAsynchMethodOnCluster(String serviceName,
                                      String methodName,
                                      Object[] args,
                                      Class[] types,
                                      boolean excludeSelf)
                               throws Exception
Invoke a asynchronous RPC call on all nodes of the partition/cluster. The call will return immediately and will not wait that the nodes answer. Thus no answer is available.

Parameters:
serviceName - Name of the target service name on which calls are de-multiplexed
methodName - name of the Java method to be called on remote services
args - array of Java Object representing the set of parameters to be given to the remote method
types - The types of the parameters
excludeSelf - indicates if the RPC must also be made on the current node of the partition or only on remote nodes
Throws:
Exception - Throws if a communication exception occurs

callAsynchMethodOnCluster

public void callAsynchMethodOnCluster(String serviceName,
                                      String methodName,
                                      Object[] args,
                                      boolean excludeSelf)
                               throws Exception
Deprecated. Use callAsynchMethodOnCluster(String, String, Object[], Class[], boolean) instead

Parameters:
serviceName -
methodName -
args -
excludeSelf -
Throws:
Exception

subscribeToStateTransferEvents

public void subscribeToStateTransferEvents(String serviceName,
                                           HAPartition.HAPartitionStateTransfer subscriber)
Register a service that will participate in state transfer protocol and receive callbacks

Parameters:
serviceName - Name of the service that subscribes for state stransfer events. This name must be identical for all identical services in the cluster.
subscriber - Object implementing HAPartition.HAPartitionStateTransfer and providing or receiving state transfer callbacks

unsubscribeFromStateTransferEvents

public void unsubscribeFromStateTransferEvents(String serviceName,
                                               HAPartition.HAPartitionStateTransfer subscriber)
Unregister a service from state transfer callbacks.

Parameters:
serviceName - Name of the service that participates in the state transfer protocol
subscriber - Service implementing the state transfer callback methods

registerMembershipListener

public void registerMembershipListener(HAPartition.HAMembershipListener listener)
Subscribes to receive HAPartition.HAMembershipListener events.

Parameters:
listener - The membership listener object

unregisterMembershipListener

public void unregisterMembershipListener(HAPartition.HAMembershipListener listener)
Unsubscribes from receiving HAPartition.HAMembershipListener events.

Parameters:
listener - The listener wishing to unsubscribe

getCurrentViewId

public long getCurrentViewId()
Each time the partition topology changes, a new view is computed. A view is a list of members, the first member being the coordinator of the view. Each view also has a distinct identifier.

Returns:
The identifier of the current view

getCurrentView

public Vector getCurrentView()
Return the list of member nodes that built the current view i.e. the current partition.

Returns:
An array of Strings containing the node names

getClusterNodes

public ClusterNode[] getClusterNodes()
Return the member nodes that built the current view i.e. the current partition.

Returns:
An array of ClusterNode containing the node names


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