|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface StateManager
This interface is responsible for handling context replication. The property changes in the Axis2 context hierarchy in this node, are propagated to all other nodes in the cluster.
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
ClusterBuilder
, by
reading the "contextManager" element in the axis2.xml
Method Summary | |
---|---|
Map |
getReplicationExcludePatterns()
Get all the excluded context property name patterns |
boolean |
isContextClusterable(AbstractContext context)
This is a check to see whether the properties in an instance of AbstractContext
should be replicated. |
void |
removeContext(AbstractContext context)
This method is called when AbstractContext is removed from the system |
void |
replicateState(StateClusteringCommand command)
Replicate state using a custom StateClusteringCommand |
void |
setConfigurationContext(ConfigurationContext configurationContext)
Set the system's configuration context. |
void |
setReplicationExcludePatterns(String contextType,
List patterns)
All properties in the context with type contextType which have
names that match the specified pattern will be excluded from replication. |
void |
updateContext(AbstractContext context)
This method is called when properties in an AbstractContext are updated. |
void |
updateContext(AbstractContext context,
String[] propertyNames)
This method is called when one need to update/replicate only certains properties in the specified context |
void |
updateContexts(AbstractContext[] contexts)
This method is called when properties in a collection of AbstractContext s are updated. |
Methods inherited from interface org.apache.axis2.description.ParameterInclude |
---|
addParameter, deserializeParameters, getParameter, getParameters, isParameterLocked, removeParameter |
Method Detail |
---|
void updateContext(AbstractContext context) throws ClusteringFault
AbstractContext
are updated.
This could be addition of new properties, modifications of existing properties or
removal of properties.
context
- The context to be replicated
ClusteringFault
- If replication failsvoid updateContext(AbstractContext context, String[] propertyNames) throws ClusteringFault
context
context
- The AbstractContext containing the properties to be replicatedpropertyNames
- The names of the specific properties that should be replicated
ClusteringFault
- If replication failsvoid updateContexts(AbstractContext[] contexts) throws ClusteringFault
AbstractContext
s are updated.
This could be addition of new properties, modifications of existing properties or
removal of properties.
contexts
- The AbstractContexts containing the properties to be replicated
ClusteringFault
- If replication failsvoid replicateState(StateClusteringCommand command) throws ClusteringFault
command
- The custom StateClusteringCommand which can be used for replicating state
ClusteringFault
- If replication failsvoid removeContext(AbstractContext context) throws ClusteringFault
AbstractContext
is removed from the system
context
- The AbstractContext to be removed
ClusteringFault
- If context removal failsboolean isContextClusterable(AbstractContext context)
AbstractContext
should be replicated. This allows an implementer to dissallow the replication of properties
stored in a certain type of context
context
- The instance of AbstractContext under consideration
AbstractContext
is clusterablevoid setConfigurationContext(ConfigurationContext configurationContext)
configurationContext
- The configuration contextvoid setReplicationExcludePatterns(String contextType, List patterns)
All properties in the context with type contextType
which have
names that match the specified pattern will be excluded from replication.
Only prefixes and suffixes are allowed. e.g. the local_* pattern indicates that all property names starting with local_ should be omitted from replication. *_local pattern indicated that all property names ending with _local should be omitted from replication. * pattern indicates that all properties should be excluded.
Generally, we can use the context class name as the context type.
contextType
- The type of the context such as
org.apache.axis2.context.ConfigurationContext,
org.apache.axis2.context.ServiceGroupContext &
org.apache.axis2.context.ServiceContext.
Also "defaults" is a special type, which will apply to all contextspatterns
- The patternsMap getReplicationExcludePatterns()
contextType
. See setReplicationExcludePatterns(String,List)
.
The values are of type List
of String
Objects,
which are a collection of patterns to be excluded.setReplicationExcludePatterns(String, java.util.List)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |