Rio Project 4.2 API Documentation



org.rioproject.fdh
Class AdminFaultDetectionHandler

java.lang.Object
  extended by org.rioproject.fdh.AbstractFaultDetectionHandler
      extended by org.rioproject.fdh.AdminFaultDetectionHandler
All Implemented Interfaces:
FaultDetectionHandler<ServiceID>

public class AdminFaultDetectionHandler
extends AbstractFaultDetectionHandler

The AdminFaultDetectionHandler is used to monitor services that implement the Administrable interface.

If the service implements the Administrable interface, the AdminFaultDetectionHandler invokes the Administrable.getAdmin() method periodically. If the method invocation returns successfully, the service is assumed to be available. If the method invocation results in a failure, and all retry attempts have failed, the AdminFaultDetectionHandler will notify FaultDetectionListener instances of the failure.

Additionally, the AdminFaultDetectionHandler will register with Lookup Services for ServiceRegistrar.TRANSITION_MATCH_NOMATCH transitions for the service being monitored. If the service is adminstratively removed from the network, the transition will be noted and FaultDetectionListener instances will be notified of the failure.

If the service does not implement the net.jini.admin.Administrable interface, the AdminFaultDetectionHandler will only create the event consumer for Lookup Service TRANSITION_MATCH_NOMATCH transitions.

Configuring AdminFaultDetectionHandler

This implementation of AdminFaultDetectionHandler supports the following configuration entries; where each configuration entry name is associated with the component name org.rioproject.fdh.AdminFaultDetectionHandler.


The amount of time it takes for the AdminFaultDetectionHandler to determine service failure for a service that implements the Administrable interface is calculated as follows :
 ((num_retries + 1) * (connectivity_timeout)) + (retry_delay * num_retries)
 

Author:
Dennis Reedy

Nested Class Summary
 
Nested classes/interfaces inherited from class org.rioproject.fdh.AbstractFaultDetectionHandler
AbstractFaultDetectionHandler.ServiceMonitor
 
Field Summary
static String INVOCATION_DELAY_KEY
           
 
Fields inherited from class org.rioproject.fdh.AbstractFaultDetectionHandler
config, configArgs, DEFAULT_RETRY_COUNT, DEFAULT_RETRY_TIMEOUT, proxy, RETRY_COUNT_KEY, RETRY_TIMEOUT_KEY, retryCount, retryTimeout, serviceMonitor, terminating
 
Constructor Summary
AdminFaultDetectionHandler()
           
 
Method Summary
protected  AbstractFaultDetectionHandler.ServiceMonitor getServiceMonitor()
          Get the class which implements the ServiceMonitor
 void setConfiguration(String[] configArgs)
          Set configuration attributes for the FaultDetectionHandler.
 void setInvocationDelay(long invocationDelay)
           
 
Methods inherited from class org.rioproject.fdh.AbstractFaultDetectionHandler
getName, monitor, notifyListeners, register, setRetryCount, setRetryTimeout, terminate, unregister
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

INVOCATION_DELAY_KEY

public static final String INVOCATION_DELAY_KEY
See Also:
Constant Field Values
Constructor Detail

AdminFaultDetectionHandler

public AdminFaultDetectionHandler()
Method Detail

setConfiguration

public void setConfiguration(String[] configArgs)
Description copied from interface: FaultDetectionHandler
Set configuration attributes for the FaultDetectionHandler.

Parameters:
configArgs - Configuration attributes a FaultDetectionHandler will use to monitor the service. Values are specific to a concrete instance of the FaultDetectionHandler
See Also:
FaultDetectionHandler.setConfiguration(java.lang.String[])

setInvocationDelay

public void setInvocationDelay(long invocationDelay)

getServiceMonitor

protected AbstractFaultDetectionHandler.ServiceMonitor getServiceMonitor()
                                                                  throws Exception
Get the class which implements the ServiceMonitor

Specified by:
getServiceMonitor in class AbstractFaultDetectionHandler
Returns:
A ServiceMonitor
Throws:
Exception - if the ServiceMonitor cannot be created

Copyright © Rio Project.

Copyright © 2006-2011 Rio Project. All Rights Reserved.