StateManager
instance which is responsible for managing the JDO Instance state changes and for interfacing with the JDO PersistenceManager. Additionally, Persistent JDO Instances refers to an instance of the JDO StateManager
instance responsible for the state transitions of the instance as well as managing the contents of the fields of the instance. The JDO StateManager
interface is the primary interface used by the JDO Instance to mediate life cycle changes. Non-transient JDO Instances always contain a non-null reference to an associated JDO StateManager
instance. When a First Class Object is instantiated in the JVM, the JDO implementation assigns to fields with a Tracked Second Class Object type a new instance that tracks changes made to itself, and notifies the StateManager
of the owning First Class Object of the change.
StateManager directs the process of saving and restoring the view between requests. The {@link StateManager}instance for an application is retrieved from the {@link Application}instance, and thus cannot know any details of the markup language created by the {@link RenderKit} being used to render a view. The{@link StateManager} utilizes a helper object ({@link ResponseStateManager}), that is provided by the {@link RenderKit}implementation and is therefore aware of the markup language details.
PersistenceCapable
classes and the JDO implementation. It contains the methods used by PersistenceCapable
instances to delegate behavior to the JDO implementation. Each managed PersistenceCapable
instance contains a reference to a StateManager
. A StateManager
might manage one or multiple instances of PersistenceCapable
instances, at the choice of the implementation.
@version 2.0
Some condition, rules or constraints are stateful. This StateManager manages these states, i.e. it offers methods to add, store and retrieve states based on the problem, vehicle-routes and tour-activities. @author schroeder
It is not mandatory to have a StateManager in a node. If we are not interested in High Availability, we may disable context replication by commenting out the "contextManager" section in the axis2.xml cluster configuration section. In such a scenatio, the cluster will be used only for the purpose of Scalability
The implementation of this interface is set by the {@link org.apache.axis2.deployment.ClusterBuilder}, by reading the "contextManager" element in the axis2.xml
e.g.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|