SmartFrog 3.10.000

org.smartfrog.sfcore.updatable
Class UpdatablePrim

java.lang.Object
  extended by org.smartfrog.sfcore.reference.RemoteReferenceResolverHelperImpl
      extended by org.smartfrog.sfcore.prim.PrimImpl
          extended by org.smartfrog.sfcore.updatable.UpdatablePrim
All Implemented Interfaces:
java.rmi.Remote, MessageKeys, Diagnostics, Liveness, Prim, RemoteReferenceResolver, RemoteReferenceResolverHelper, Update

public class UpdatablePrim
extends PrimImpl
implements Update, Prim

warning: handle in a thread that is not part of a lifecycle of another component...


Field Summary
 
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
UpdatablePrim()
           
 
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.prim.PrimImpl
equals, hashCode, registerWithProcessCompound, sfAddAttribute, sfAttributeKeyFor, sfAttributes, sfCompleteName, sfCompleteNameSafe, sfContainsAttribute, sfContainsValue, sfContext, sfDeploy, sfDeployedHost, sfDeployedProcessName, sfDeployWith, sfDetach, sfDetachAndTerminate, sfDiagnosticsReport, sfDumpState, sfExport, sfExportRef, sfExportRef, sfGetApplicationLog, sfGetCoreLog, sfGetLog, sfIsDeployed, sfIsRemote, sfIsStarted, sfIsTerminated, sfIsTerminating, sfLivenessFailure, sfLog, sfParent, sfParentageChanged, sfPing, sfRemoveAttribute, sfReplaceAttribute, sfResolve, sfResolve, sfResolveHere, sfResolveHere, sfResolveParent, sfSetLog, sfStart, sfStartLivenessSender, sfStopLivenessSender, sfTerminate, sfTerminatedWith, sfTerminateQuietlyWith, sfTerminateWith, 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.RemoteReferenceResolver
sfResolve, sfResolve, sfResolveHere, sfResolveHere, sfResolveParent
 
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
 
Methods inherited from interface org.smartfrog.sfcore.prim.Diagnostics
sfDiagnosticsReport
 

Constructor Detail

UpdatablePrim

public UpdatablePrim()
              throws java.rmi.RemoteException
Throws:
java.rmi.RemoteException
Method Detail

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

SmartFrog CORE 3.10.000

(C) Copyright 1998-2006 Hewlett-Packard Development Company, LP