org.smartfrog.examples.persistence
Class PersistentCounterImpl
java.lang.Object
org.smartfrog.sfcore.reference.RemoteReferenceResolverHelperImpl
org.smartfrog.sfcore.prim.PrimImpl
org.smartfrog.examples.counter.CounterImpl
org.smartfrog.examples.persistence.PersistentCounterImpl
- All Implemented Interfaces:
- java.lang.Runnable, java.rmi.Remote, Counter, MessageKeys, Diagnostics, Liveness, Prim, RemoteReferenceResolver, RemoteReferenceResolverHelper
public class PersistentCounterImpl
- extends CounterImpl
- implements Prim, Counter, java.lang.Runnable
Basic example component.
The PersistentCounter component (in components.sf) is a basic primitive component so
its component description class PersistentCounterImpl extends PrimImpl
through extending CounterImpl.
The persistent counter is identical to counter, but provides in addition the
capability to be restarted according to the simple persistence pattern provided with the core
The pattern provides the ability for the component to be aware of the fact that it is being restarted
rather than being started from scratch, and provides some attributes, such as a directory and filename stem,
which allows it to persist and recover its internal state at regular checkpoints. In this way the
comopnent can restart at the point it had previously reached.
In the case of the counter, this state is the last value reached...
| Fields inherited from class org.smartfrog.examples.counter.CounterImpl |
action, counter, debug, limit, logApp, logCore, message, myName, pause, sleeptime, terminate |
| 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 |
protected void |
checkpointState()
Checkpointing the state |
void |
run()
Run method |
void |
sfDeploy()
sfDeploy: reads Counter attributes and configures counter thread
The superclass implementation of sfDeploy is called before the
component specific initialization code (reading Counter attributes
and configuring counter thread) to maintain correct behaviour of
initial deployment and starting the heartbeat monitoring of this
component. |
void |
sfTerminateWith(TerminationRecord t)
sfTerminate: The superclass implementation of sfTerminateWith is called
after the component specific termination code to implement useful
termination behaviour of the component. |
| Methods inherited from class org.smartfrog.sfcore.prim.PrimImpl |
equals, hashCode, registerWithProcessCompound, sfAddAttribute, sfAttributeKeyFor, sfAttributes, sfCompleteName, sfCompleteNameSafe, sfContainsAttribute, sfContainsValue, sfContext, 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, sfStartLivenessSender, sfStopLivenessSender, sfTerminate, sfTerminatedWith, 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, 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 |
PersistentCounterImpl
public PersistentCounterImpl()
throws java.rmi.RemoteException
- Constructor for the PersistenceCounter object.
- Throws:
java.rmi.RemoteException - in case of remote/network error
sfDeploy
public void sfDeploy()
throws SmartFrogException,
java.rmi.RemoteException
- sfDeploy: reads Counter attributes and configures counter thread
The superclass implementation of sfDeploy is called before the
component specific initialization code (reading Counter attributes
and configuring counter thread) to maintain correct behaviour of
initial deployment and starting the heartbeat monitoring of this
component.
- Specified by:
sfDeploy in interface Prim- Overrides:
sfDeploy in class CounterImpl
- Throws:
SmartFrogException - In case of error in deploying
java.rmi.RemoteException - In case of network/rmi error
sfTerminateWith
public void sfTerminateWith(TerminationRecord t)
- sfTerminate: The superclass implementation of sfTerminateWith is called
after the component specific termination code to implement useful
termination behaviour of the component.
- Overrides:
sfTerminateWith in class CounterImpl
- Parameters:
t - TerminationRecord object
checkpointState
protected void checkpointState()
throws java.io.FileNotFoundException,
java.io.IOException
- Checkpointing the state
- Throws:
java.io.FileNotFoundException - error in finding the file
java.io.IOException - error in IO
run
public void run()
- Run method
- Specified by:
run in interface java.lang.Runnable- Overrides:
run in class CounterImpl
(C) Copyright 1998-2006 Hewlett-Packard Development Company, LP