org.smartfrog.sfcore.updatable
Class UpdatableCompound
java.lang.Object
org.smartfrog.sfcore.reference.RemoteReferenceResolverHelperImpl
org.smartfrog.sfcore.prim.PrimImpl
org.smartfrog.sfcore.compound.CompoundImpl
org.smartfrog.sfcore.updatable.UpdatableCompound
- All Implemented Interfaces:
- java.rmi.Remote, MessageKeys, Compound, ChildMinder, Diagnostics, Liveness, Prim, RemoteReferenceResolver, RemoteReferenceResolverHelper, Update
public class UpdatableCompound
- extends CompoundImpl
- implements Update, Compound
warning: handle in a thread that is not part of a lifecycle of another component...
| 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 |
|
Method Summary |
void |
sfAbandonUpdate()
Can occur after prepare and check, but not afterwards to roll back from actual update process. |
void |
sfPrepareUpdate()
Inform component (and children, typically) that an update is about to take place. |
void |
sfUpdate()
Carry out the context update - no roll back from this point on. |
void |
sfUpdateComponent(ComponentDescription desc)
Control of complete update process for a component, running through all the above phases. |
void |
sfUpdateDeploy()
Next phase of start-up after update - includes calling sfDeply on new children
Errors are considered terminal unless behaviour overridden. |
void |
sfUpdateStart()
Final phase of startup after update - includes calling sfStart on new children
Errors are considered terminal unless behaviour overridden. |
boolean |
sfUpdateWith(Context newCxt)
Validate whether the component (and its children) can be updated |
| Methods inherited from class org.smartfrog.sfcore.compound.CompoundImpl |
sfAddChild, sfASyncTerminateWith, sfChildren, sfContainsChild, sfCreateNewApp, sfCreateNewChild, sfCreateNewChild, sfDeploy, sfDeployChildren, sfDeployComponentDescription, sfDeployWith, sfDeployWithChildren, sfDumpState, sfParentageChanged, sfPing, sfPingChild, sfRemoveAttribute, sfRemoveChild, sfStart, sfStartChildren, sfSyncTerminateWith, sfTerminatedWith, sfTerminateWith |
| 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, sfDeploy, sfDeployedHost, sfDeployedProcessName, sfDeployWith, sfDetach, sfDetachAndTerminate, sfDumpState, sfIsDeployed, sfIsStarted, sfIsTerminated, sfIsTerminating, sfParent, sfParentageChanged, sfRemoveAttribute, sfReplaceAttribute, sfStart, sfTerminate, sfTerminatedWith, 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 |
UpdatableCompound
public UpdatableCompound()
throws java.rmi.RemoteException
- Throws:
java.rmi.RemoteException
sfPrepareUpdate
public void sfPrepareUpdate()
throws java.rmi.RemoteException,
SmartFrogException
- Inform component (and children, typically) that an update is about to take place.
Normally a component would quiesce its activity
- Specified by:
sfPrepareUpdate in interface Update
- Throws:
java.rmi.RemoteException
SmartFrogException - - not OK to update
sfUpdateWith
public boolean sfUpdateWith(Context newCxt)
throws java.rmi.RemoteException,
SmartFrogException
- Validate whether the component (and its children) can be updated
- Specified by:
sfUpdateWith in interface Update
- Parameters:
newCxt - - the data that will replace the original context
- Returns:
- true - OK to update, false - OK to terminate and redeploy, exception - not OK to update
- Throws:
java.rmi.RemoteException
SmartFrogException - - failure, not OK to update
sfUpdate
public void sfUpdate()
throws java.rmi.RemoteException,
SmartFrogException
- Carry out the context update - no roll back from this point on.
Terminates children that need terminating, create and deployWith children that need to be
- Specified by:
sfUpdate in interface Update
- Throws:
java.rmi.RemoteException
SmartFrogException - - failure, to be treated like a normal lifecycle error, by default with termination
sfUpdateDeploy
public void sfUpdateDeploy()
throws java.rmi.RemoteException,
SmartFrogException
- Next phase of start-up after update - includes calling sfDeply on new children
Errors are considered terminal unless behaviour overridden.
- Specified by:
sfUpdateDeploy in interface Update
- Throws:
java.rmi.RemoteException
SmartFrogException
sfUpdateStart
public void sfUpdateStart()
throws java.rmi.RemoteException,
SmartFrogException
- Final phase of startup after update - includes calling sfStart on new children
Errors are considered terminal unless behaviour overridden.
- Specified by:
sfUpdateStart in interface Update
- Throws:
java.rmi.RemoteException
SmartFrogException
sfAbandonUpdate
public void sfAbandonUpdate()
throws java.rmi.RemoteException
- Can occur after prepare and check, but not afterwards to roll back from actual update process.
- Specified by:
sfAbandonUpdate in interface Update
- Throws:
java.rmi.RemoteException
sfUpdateComponent
public void sfUpdateComponent(ComponentDescription desc)
throws java.rmi.RemoteException,
SmartFrogUpdateException
- Control of complete update process for a component, running through all the above phases.
- Specified by:
sfUpdateComponent in interface Update
- Parameters:
desc -
- Throws:
java.rmi.RemoteException
SmartFrogUpdateException
(C) Copyright 1998-2006 Hewlett-Packard Development Company, LP