org.smartfrog.sfcore.workflow.combinators
Class RandomSequence
java.lang.Object
org.smartfrog.sfcore.reference.RemoteReferenceResolverHelperImpl
org.smartfrog.sfcore.prim.PrimImpl
org.smartfrog.sfcore.compound.CompoundImpl
org.smartfrog.sfcore.workflow.eventbus.EventCompoundImpl
org.smartfrog.sfcore.workflow.combinators.RandomSequence
- All Implemented Interfaces:
- java.rmi.Remote, MessageKeys, Compound, ChildMinder, Diagnostics, Liveness, Prim, RemoteReferenceResolver, RemoteReferenceResolverHelper, EventBus, EventRegistration, EventSink
public class RandomSequence
- extends EventCompoundImpl
- implements Compound
RandomSequence is a modified sequence which differs in that the
sub-components operate sequentially but are started at random.
RandomSequence maintains a vector of the started sub-components. A
sub-component can not be deployed and started twice. Sub-components do not
share the same lifecycle. A RandomSequence combinator creates no
sub-components until its sfStart phase at which point the first mentioned
random sub-components is created in the normal way. The RandomSequence
combinator waits for each of its sub-components to terminate at which point
it starts a randomly chosen one in the action. When the last terminates
normally it too terminates normally. If an error occurs at any point, or a
sub-component terminates abnormally, the RandomSequence combinator does
too.
The file randomsequence.sf contains the SmartFrog configuration file for the
base Random,Sequence combinator. This file contains the details of the
attributes which may be passed to Sequence.
| Fields inherited from class org.smartfrog.sfcore.prim.PrimImpl |
refLivenessDelay, refLivenessFactor, sfCompleteName, sfContext, sfDeployHooks, sfDeployWithHooks, sfExportRef, sfIsDeployed, sfIsStarted, sfIsTerminated, sfIsTerminating, sfLivenessCount, sfLivenessDelay, sfLivenessFactor, sfLivenessSender, sfParent, sfStartHooks, sfTerminateWithHooks, termLock |
| Fields inherited from interface org.smartfrog.sfcore.common.MessageKeys |
CANNOT_LINK_TO_PREDICATE, COMPONENT_TERMINATED, COPY_FAILED, COPY_SERIALIZE_FAILED, ERROR_NO_SECURITY_BUT_REQUIRED, ILLEGAL_BOOLEAN_PARAMETER, ILLEGAL_NUMERIC_PARAMETER, ILLEGAL_STRING_PARAMETER, ILLEGAL_VECTOR_PARAMETER, LIVENESS_SEND_FAILURE, LIVENESS_SEND_FAILURE_IN, MISSING_PARAMETER, MSG_CLASS_NOT_FOUND, MSG_CONNECT_ERR, MSG_CONT_OTHER_DEPLOY, MSG_DEPLOY_COMP_TERMINATED, MSG_DEPLOY_SUCCESS, MSG_DEPLOYWITH_PHASE_FAILED, MSG_DETACH_SUCCESS, MSG_DETACH_TERMINATE_SUCCESS, MSG_ERR_DEPLOY_FROM_URL, MSG_ERR_PARSE, MSG_ERR_RESOLVE_PHASE, MSG_ERR_SF_RUNNING, MSG_ERR_TERM, MSG_FAILED_INET_ADDRESS_LOOKUP, MSG_FAILED_TO_CONTACT_PARENT, MSG_FILE_NOT_FOUND, MSG_HOOK_ACTION_FAILED, MSG_ILLEGAL_ACCESS, MSG_ILLEGAL_CLASS_TYPE, MSG_ILLEGAL_CLASS_TYPE_EXPECTING_GOT, MSG_ILLEGAL_REFERENCE, MSG_INPUTSTREAM_NULL, MSG_INSTANTIATION_ERROR, MSG_INVALID_OBJECT_TYPE, MSG_INVOCATION_TARGET, MSG_LANG_NOT_FOUND, MSG_LIVENESS_START_FAILED, MSG_LOADING_URL, MSG_METHOD_NOT_FOUND, MSG_NON_REP_ATTRIB, MSG_NOT_COMPONENT_REFERENCE, MSG_NOT_FOUND_ATTRIBUTE, MSG_NOT_FOUND_REFERENCE, MSG_NOT_VALUE_REFERENCE, MSG_NULL_DEF_METHOD, MSG_NULL_URL, MSG_OBJECT_REGISTRATION_FAILED, MSG_PARENT_LOCATION_FAILED, MSG_PING_SUCCESS, MSG_RANDM_ERR, MSG_REMOTE_CONNECT_ERR, MSG_REPEATED_ATTRIBUTE, MSG_SF_DEAD, MSG_SF_READY, MSG_SF_TERMINATED, MSG_STACKTRACE_FOLLOWS, MSG_START_COMP_TERMINATED, MSG_TERMINATE_SUCCESS, MSG_UNHANDLED_EXCEPTION, MSG_UNKNOWN_HOST, MSG_UNRESOLVED_REFERENCE, MSG_UNRESOLVED_REFERENCE_IN, MSG_UPDATE_SUCCESS, MSG_URL_NOT_FOUND, MSG_URL_TO_PARSE_NOT_FOUND, MSG_WARNING_LIVENESS_ENABLED, MSG_WARNING_STACKTRACE_DISABLED, MSG_WARNING_STACKTRACE_ENABLED, ROOT_MUST_BE_COMPONENT, WARN_NO_SECURITY |
| Methods inherited from class org.smartfrog.sfcore.compound.CompoundImpl |
sfAddChild, sfASyncTerminateWith, sfChildren, sfContainsChild, sfCreateNewApp, sfCreateNewChild, sfCreateNewChild, sfDeployChildren, sfDeployComponentDescription, sfDeployWith, sfDumpState, sfParentageChanged, sfPing, sfPingChild, sfRemoveAttribute, sfRemoveChild, sfStartChildren, sfSyncTerminateWith |
| Methods inherited from class org.smartfrog.sfcore.prim.PrimImpl |
equals, hashCode, registerWithProcessCompound, sfAddAttribute, sfAttributeKeyFor, sfAttributes, sfCompleteName, sfCompleteNameSafe, sfContainsAttribute, sfContainsValue, sfContext, sfDeployedHost, sfDeployedProcessName, sfDetach, sfDetachAndTerminate, sfDiagnosticsReport, sfExport, sfExportRef, sfExportRef, sfGetApplicationLog, sfGetCoreLog, sfGetLog, sfIsDeployed, sfIsRemote, sfIsStarted, sfIsTerminated, sfIsTerminating, sfLivenessFailure, sfLog, sfParent, sfReplaceAttribute, sfResolve, sfResolve, sfResolveHere, sfResolveHere, sfResolveParent, sfSetLog, sfStartLivenessSender, sfStopLivenessSender, sfTerminate, sfTerminateQuietlyWith, sfValues, terminateComponent, terminateNotifying, toString |
| Methods inherited from class org.smartfrog.sfcore.reference.RemoteReferenceResolverHelperImpl |
sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolveWithParser |
| Methods inherited from class java.lang.Object |
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface org.smartfrog.sfcore.prim.Prim |
sfAddAttribute, sfAttributeKeyFor, sfAttributes, sfCompleteName, sfContainsAttribute, sfContainsValue, sfContext, sfDeployedHost, sfDeployedProcessName, sfDeployWith, sfDetach, sfDetachAndTerminate, sfDumpState, sfIsDeployed, sfIsStarted, sfIsTerminated, sfIsTerminating, sfParent, sfParentageChanged, sfRemoveAttribute, sfReplaceAttribute, sfTerminate, sfTerminateQuietlyWith, sfValues |
| Methods inherited from interface org.smartfrog.sfcore.prim.Liveness |
sfPing |
| Methods inherited from interface org.smartfrog.sfcore.reference.RemoteReferenceResolverHelper |
sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolveWithParser |
RandomSequence
public RandomSequence()
throws java.rmi.RemoteException
- Constructs RandomSequence.
- Throws:
java.rmi.RemoteException - In case of RMI or network error.
sfDeploy
public void sfDeploy()
throws SmartFrogException,
java.rmi.RemoteException
- Reads the basic configuration of the component and deploys.
- Specified by:
sfDeploy in interface Prim- Overrides:
sfDeploy in class EventCompoundImpl
- Throws:
java.rmi.RemoteException - In case of network/rmi error
SmartFrogException - In case of any error while
deploying the component
sfStart
public void sfStart()
throws SmartFrogException,
java.rmi.RemoteException
- Starts and manages the random subcomponents.
- Specified by:
sfStart in interface Prim- Overrides:
sfStart in class CompoundImpl
- Throws:
java.rmi.RemoteException - In case of network/rmi error
SmartFrogLifecycleException - In case of any error while starting
the component
SmartFrogException - failed to start compound
sfTerminatedWith
public void sfTerminatedWith(TerminationRecord status,
Prim comp)
- Terminates the component. It is invoked by sub-components on
termination. If normal termination, RandomSequence behaviour is to
start a random component in the actions if it is the last - terminate
normally. if an erroneous termination - terminate immediately passing
on the error
- Specified by:
sfTerminatedWith in interface Prim- Overrides:
sfTerminatedWith in class CompoundImpl
- Parameters:
status - termination status of sendercomp - sender of termination
(C) Copyright 1998-2006 Hewlett-Packard Development Company, LP