org.smartfrog.sfcore.workflow.combinators
Class Parallel
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.Parallel
- All Implemented Interfaces:
- java.rmi.Remote, MessageKeys, Compound, ChildMinder, Diagnostics, Liveness, Prim, RemoteReferenceResolver, RemoteReferenceResolverHelper, EventBus, EventRegistration, EventSink
- Direct Known Subclasses:
- Container, FireBreak
public class Parallel
- extends EventCompoundImpl
- implements Compound
Parallel is a modified compound which differs in that the sub-components
operate in parallel but do not share the same lifecycle, and in particular
the same termination. A Parallel combinator creates no subcomponents until
it's sfStart phase at which point all the subcomponents are created in the
normal way and with synchronized or asynchronized lifecycle. The Parallel combinator waits
for each of its sub-components to terminate normally at which point it too
terminates normally. If an error occurs at any point, or a sub-component
terminates abnormally, the Parallel combinator does too.
The file parallel.sf contains the SmartFrog configuration file for the base
Parallel combinator. This file contains the details of the attributes which
may be passed to Parallel.
| 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 |
|
Constructor Summary |
Parallel()
Constructs Parallel. |
| 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 |
Parallel
public Parallel()
throws java.rmi.RemoteException
- Constructs Parallel.
- Throws:
java.rmi.RemoteException - In case of network or RMI failure.
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
SmartFrogDeploymentException - In case of any error while
deploying the component
SmartFrogException - failure deploying compound or
sub-component
sfStart
public void sfStart()
throws SmartFrogException,
java.rmi.RemoteException
- Deploys and manages the parallel subcomponents.
- Specified by:
sfStart in interface Prim- Overrides:
sfStart in class CompoundImpl
- Throws:
java.rmi.RemoteException - The required remote exception.
java.rmi.RemoteException - In case of network/rmi error
SmartFrogException - failed to start compound
asynchCreateChild
protected void asynchCreateChild()
throws SmartFrogDeploymentException,
java.rmi.RemoteException,
SmartFrogRuntimeException,
SmartFrogException
- Throws:
SmartFrogDeploymentException
java.rmi.RemoteException
SmartFrogRuntimeException
SmartFrogException
synchCreateChild
protected void synchCreateChild()
throws SmartFrogDeploymentException,
java.rmi.RemoteException,
SmartFrogRuntimeException,
SmartFrogException
- Throws:
SmartFrogDeploymentException
java.rmi.RemoteException
SmartFrogRuntimeException
SmartFrogException
sfTerminatedWith
public void sfTerminatedWith(TerminationRecord status,
Prim comp)
- Terminates the component. It is invoked by sub-components at
termination. If normal termination, Parallel behaviour is to terminate
that component but leave the others running 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
sfTerminateWith
public void sfTerminateWith(TerminationRecord status)
- Cancels all remaining createChild threads
- Overrides:
sfTerminateWith in class EventCompoundImpl
- Parameters:
status - Termination Record
(C) Copyright 1998-2006 Hewlett-Packard Development Company, LP