11.2.  Definition of XML attributes

11.2.  Definition of XML attributes

A list of definitions of each of the XML attributes used above:

Name

Description

BuddyReplicationConfig

An XML element that contains detailed buddy replication configuration. See section above on Buddy Replication.

CacheLoaderConfiguration

An XML element that contains detailed cache loader configuration. See section above on Cache Loaders.

CacheMode

LOCAL, REPL_SYNC, REPL_ASYNC, INVALIDATION_SYNC or INVALIDATION_ASYNC

ClusterConfig

The configuration of the underlying JGroups stack. Ignored if MultiplexerService and MultiplexerStack are used. See the various *-service.xml files in the source distribution etc/META-INF folder for examples. See the JGroups documentation or the JGroups wiki page for more information.

ClusterName

Name of cluster. Needs to be the same for all nodes in a cluster in order for them to communicate with each other.

EvictionPolicyClass

The name of a class implementing EvictionPolicy. Deprecated; it is preferable to configure the eviction policy class as part of the EvictionPolicyConfig.

EvictionPolicyConfig

Configuration parameter for the specified eviction policy. Note that the content is provider specific.

FetchInMemoryState (renamed from FetchStateOnStartup)

Whether or not to acquire the initial in-memory state from existing members. Allows for hot/cold caches (true/false). Also see the fetchPersistentState element in CacheLoaderConfiguration.

InactiveOnStartup

Whether or not the entire tree is inactive upon startup, only responding to replication messages after activateRegion() is called to activate one or more parts of the tree. If true, property FetchInMemoryState is ignored. This property should only be set to true if UseRegionBasedMarshalling is also true.

InitialStateRetrievalTimeout

Time in milliseconds to wait for initial state retrieval. This should be longer than LockAcquisitionTimeout as the node providing state may need to wait that long to acquire necessary read locks on the cache.

IsolationLevel

Node locking isolation level : SERIALIZABLE, REPEATABLE_READ (default), READ_COMMITTED, READ_UNCOMMITTED, and NONE. Note that this is ignored if NodeLockingScheme is OPTIMISTIC. Case doesn't matter. See documentation on Transactions and Concurrency for more details.

LockAcquisitionTimeout

Time in milliseconds to wait for a lock to be acquired. If a lock cannot be acquired an exception will be thrown.

MultiplexerService

The JMX object name of the service that defines the JGroups multiplexer. In JBoss AS 5 this service is normally defined in the jgroups-multiplexer.sar. If this attribute is defined, the cache will look up the multiplexer service in JMX and will use it to obtain a multiplexed JGroups channel. The configuration of the channel will be that associated with MultiplexerStack. The ClusterConfig attribute will be ignored.

MultiplexerStack

The name of the JGroups stack to be used with the TreeCache cluster. Stacks are defined in the configuration of the external MultiplexerService discussed above. In JBoss AS 5 this is normally done in the jgroups-multiplexer.sar\META-INF\multiplexer-stacks.xml file. The default stack is udp. This attribute is used in conjunction with MultiplexerService.

NodeLockingScheme

May be PESSIMISTIC (default) or OPTIMISTIC. See documentation on Transactions and Concurrency for more details.

ReplicationVersion

Tells the cache to serialize cluster traffic in a format consistent with that used by the given release of JBoss Cache. Different JBoss Cache versions use different wire formats; setting this attribute tells a cache from a later release to serialize data using the format from an earlier release. This allows caches from different releases to interoperate. For example, a 1.2.4.SP2 cache could have this value set to "1.2.3", allowing it to interoperate with a 1.2.3 cache. Valid values are a dot-separated release number, with any SP qualifer also separated by a dot, e.g. "1.2.3" or "1.2.4.SP2".

ReplQueueInterval

Time in milliseconds for elements from the replication queue to be replicated.

ReplQueueMaxElements

Max number of elements in the replication queue until replication kicks in.

SyncCommitPhase

This option is used to control the behaviour of the commit part of a 2-phase commit protocol, when using REPL_SYNC (does not apply to other cache modes). By default this is set to false. There is a performance penalty to enabling this, especially when running in a large cluster, but the upsides are greater cluster-wide data integrity. See the chapter on Clustered Caches for more information on this.

SyncReplTimeout

For synchronous replication: time in milliseconds to wait until replication acks have been received from all nodes in the cluster.

SyncRollbackPhase

This option is used to control the behaviour of the rollback part of a 2-phase commit protocol, when using REPL_SYNC (does not apply to other cache modes). By default this is set to false. There is a performance penalty to enabling this, especially when running in a large cluster, but the upsides are greater cluster-wide data integrity. See the chapter on Clustered Caches for more information on this.

TransactionManagerLookupClass

The fully qualified name of a class implementing TransactionManagerLookup. Default is JBossTransactionManagerLookup. There is also an option of DummyTransactionManagerLookup for example.

UseInterceptorMbeans

Specifies whether each interceptor should have an associated mbean registered. Interceptor mbeans are used to capture statistics and display them in JMX. This setting enables or disables all such interceptor mbeans. Default value is true.

UseRegionBasedMarshalling

When unmarshalling replicated data, this option specifies whether or not to use different classloaders (for different cache regions). This defaults to false if unspecified.

UseReplQueue

For asynchronous replication: whether or not to use a replication queue (true/false).

LockParentForChildInsertRemove

When used with pessimistic locking and IsolationLevel of REPEATABLE_READ, this parameter specifies whether parent nodes need to be locked for writing when adding or removing child nodes. This prevents phantom reads, providing "stronger-than-repeatable-read" data integrity. This defaults to false and is ignored if used with optimistic locking or other isolation levels.