org.cougaar.core.persist |
This package contains the Cougaar
persistence and rehydration support.
The primary client is the {@link
org.cougaar.core.blackboard.StandardBlackboard}, which uses
persistence to periodically capture the agent's blackboard state,
and rehydrate that state when the agent is restarted (either
from a crash or mobility).
A modified {@link java.io.ObjectOutputStream} and {@link
java.io.ObjectInputStream} is used to support persistence deltas,
where references to unchanged objects are serialized instead of
the full objects. This requires Cougaar to override these
JVM classes on the Java command line, by using:
-Xbootclasspath/p:$COUGAAR_INSTALL_PATH/lib/javaiopatch.jar
Additional {@link org.cougaar.core.persist.PersistenceService}
clients include the agent's component model manager, which saves
the agent's list of components in the persistence snapshot.
For more detail, see the
Cougaar Developers' Guide.
|
Java Source File Name | Type | Comment |
ActivePersistenceObject.java | Interface | An object that requires special persistence and rehydration
handling.
This is typically used as a hack for odd blackboard objects that
can't [de]serialize correctly, or unusual domains. |
BlackboardPersistence.java | Class | Persistence interface for the
org.cougaar.core.blackboard.Blackboard . |
BufferedFilePersistence.java | Class | This
PersistencePlugin saves and restores blackboard objects
in files.
There is one optional parameter naming the persistence
root directory. |
BufferedFileSystem.java | Class | Support for buffered and otherwise queued access to the
file system. |
DatabasePersistence.java | Class | This
PersistencePlugin saves blackboard objects in a
database. |
DataProtectionInputStreamStub.java | Class | A trivial
InputStream for testing the
org.cougaar.core.service.DataProtectionService . |
DataProtectionKeyStub.java | Class | A trivial
DataProtectionKey used by the
DataProtectionInputStreamStub . |
DataProtectionOutputStreamStub.java | Class | A trivial
OutputStream for testing the
org.cougaar.core.service.DataProtectionService . |
DataProtectionServiceStub.java | Class | A trivial
DataProtectionService implementation. |
DummyPersistence.java | Class | A
PersistencePlugin that does nothing. |
Exercise.java | Class | This component exercises the blackboard and can be used to debug
trivial persistence problems. |
FileMutex.java | Class | A file lock. |
FilePersistence.java | Class | This
PersistencePlugin saves and restores blackboard
objects in files. |
FilePersistenceBase.java | Class | This
PersistencePlugin abstract base class saves and
restores blackboard objects in files. |
IdentityTable.java | Class | Identifies all objects that have been (or are about to be) written
to persistence media. |
NotPersistable.java | Interface | A marker interface for objects that should not be persisted. |
NotPersistableException.java | Class | An
Exception thrown when an object can not be persisted. |
Persistable.java | Interface | A marker interface for persistable objects. |
Persistence.java | Interface | An extended persistence interface for
BlackboardPersistence . |
PersistenceAssociation.java | Class | This class establishes an association between an object that has
been persisted and a reference number. |
PersistenceClient.java | Interface | Required service requestor API for the
PersistenceService . |
PersistenceControlPlugin.java | Class | This component creates blackboard
org.cougaar.core.adaptivity.OperatingMode s that control
persistence settings. |
PersistenceException.java | Class | An exception to be throw when exceptions occur during persistence
operations. |
PersistenceIdentity.java | Class | A unique
PersistenceClient identifier. |
PersistenceInputStream.java | Class | Read persisted objects from a stream. |
PersistenceMetricImpl.java | Class | org.cougaar.core.service.PersistenceMetricsService.Metric implementation. |
PersistenceMetricsServiceImpl.java | Class | PersistenceMetricsService implementation. |
PersistenceMetricsServlet.java | Class | This component is a
javax.servlet.Servlet that displays
the persistence snapshots available for the agent, and allows
the user to request a Full Persistence snapshot. |
PersistenceNames.java | Interface | Persistence constants. |
PersistenceNotEnabledException.java | Class | A exception thrown by
org.cougaar.core.service.BlackboardService.persistNow . |
PersistenceObject.java | Class | An opaque class to contain the persistence snapshot. |
PersistenceOutputStream.java | Class | Write persistable objects to a stream. |
PersistencePlugin.java | Interface | A media-specific persistence handler for reading and writing
snapshots.
PersistencePlugin defines the API that media-specific persistence
plugins must implement. |
PersistencePluginAdapter.java | Class | Adapter to simplify writing
PersistencePlugin implementations. |
PersistencePluginSupport.java | Interface | Support methods for
PersistencePlugin s. |
PersistenceReference.java | Class | Objects of this class replace objects that have been previously
persisted. |
PersistenceService.java | Interface | This service allows clients to rehydrate data from the most
recent persistence snapshot.
Note that the
PersistenceServiceForBlackboard service
contains the "persist" method, since the blackboard usually
initiates the periodic persist. |
PersistenceServiceComponent.java | Class | This component advertises the
PersistenceService and
manages all persistence activities except for the actual storage
of persistence deltas, which is done by
PersistencePlugin s.
As the distributor is about to about to distribute the objects in a
set of envelopes, those envelopes are passed to an instance of this
class. |
PersistenceServiceForAgent.java | Interface | This service is an extended
PersistenceService for use
by the agent. |
PersistenceServiceForBlackboard.java | Interface | This service is an extended
PersistenceService for use
by the blackboard's
BlackboardPersistence , including
the
PersistenceServiceForBlackboard.persist method. |
PersistenceState.java | Interface | An opaque marker class used to persist state of an object which
is not itself persistable. |
PersistenceStream.java | Interface | Marker interface for persistence I/O streams. |
PersistenceSubscriberState.java | Class | Persistence state for a blackboard
Subscriber . |
RehydrateTest.java | Class | Test class to rehydrate an agent snapshot and print the contents. |
RehydrationData.java | Class | Rehydration has two results to return, where this little class
simply bundles them together. |
RehydrationResult.java | Class | Rehydration has three results to return, where this little class
simply bundles them together. |
SequenceNumbers.java | Class | A persistence sequence range and timestamp. |
TestFullSnapshot.java | Class | |