Infinispan configuration options 5.1


  <infinispan>
    <global>
      <globalJmxStatistics>
        <properties>
      <replicationQueueScheduledExecutor>
        <properties>
      <transport>
        <properties>
      <asyncTransportExecutor>
        <properties>
      <serialization>
        <advancedExternalizers>
          <advancedExternalizer>
      <shutdown>
      <evictionScheduledExecutor>
        <properties>
      <asyncListenerExecutor>
        <properties>
    <default>
      <transaction>
        <recovery>
      <invocationBatching>
      <loaders>
        <loader>
          <async>
          <properties>
          <singletonStore>
      <clustering>
        <sync>
        <l1>
        <stateRetrieval>
        <async>
        <hash>
          <groups>
            <grouper>
      <storeAsBinary>
      <deadlockDetection>
      <lazyDeserialization>
      <eviction>
      <dataContainer>
        <properties>
      <customInterceptors>
        <interceptor>
          <properties>
      <unsafe>
      <jmxStatistics>
      <indexing>
        <properties>
      <locking>
      <expiration>

advancedExternalizer

Defines custom Externalizers to be registered with marshalling framework

The parent element is <advancedExternalizers>.

AttributeTypeDefaultDescription
externalizerClass string null Fully qualified class name of an {@link org.infinispan.marshall.AdvancedExternalizer} implementation that knows how to marshall or unmarshall instances of one, or several, user-defined, types. (Javadoc)
id int null This identifier distinguishes between different user-defined {@link org.infinispan.marshall.AdvancedExternalizer} implementations, providing a more performant way to ship class information around rather than passing class names or class information in general around. Only positive ids are allowed, and you can use any number as long as it does not clash with an already existing number for a {@link org.infinispan.marshall.AdvancedExternalizer} implementation. If there're any clashes, Infinispan will abort startup and will provide class information of the ids clashing. (Javadoc)

advancedExternalizers

Configures custom marshallers.

The parent element is <serialization>. The only child element is <advancedExternalizer>.

async

Configuration for the async cache loader. If enabled, this provides you with asynchronous writes to the cache store, giving you 'write-behind' caching.

The parent element is <loader>.

AttributeTypeDefaultDescription
threadPoolSize int 1 Size of the thread pool whose threads are responsible for applying the modifications. (Javadoc)
flushLockTimeout long 5000 Timeout to acquire the lock which guards the state to be flushed to the cache store periodically. (Javadoc)
shutdownTimeout long 25000 Timeout to stop the cache store. When the store is stopped it's possible that some modifications still need to be applied; you likely want to set a very large timeout to make sure to not loose data (Javadoc)
enabled boolean false If true, all modifications to this cache store happen asynchronously, on a separate thread. (Javadoc)

async

If this element is present, all communications are asynchronous, in that whenever a thread sends a message sent over the wire, it does not wait for an acknowledgment before returning. This element is mutually exclusive with the <sync /> element.

Characteristics of this can be tuned here.

The parent element is <clustering>.

AttributeTypeDefaultDescription
replQueueInterval long 5000 If useReplQueue is set to true, this attribute controls how often the asynchronous thread used to flush the replication queue runs. This should be a positive integer which represents thread wakeup time in milliseconds. (Javadoc)
replQueueClass string org.infinispan.remoting.ReplicationQueueImpl This overrides the replication queue implementation class. Overriding the default allows you to add behavior to the queue, typically by subclassing the default implementation. (Javadoc)
asyncMarshalling boolean false If true, asynchronous marshalling is enabled which means that caller can return even quicker, but it can suffer from reordering of operations. You can find more information here (Javadoc)
useReplQueue boolean false If true, this forces all async communications to be queued up and sent out periodically as a batch. (Javadoc)
replQueueMaxElements int 1000 If useReplQueue is set to true, this attribute can be used to trigger flushing of the queue when it reaches a specific threshold. (Javadoc)

asyncListenerExecutor

Configuration for the executor service used to emit notifications to asynchronous listeners

The parent element is <global>. The only child element is <properties>.

AttributeTypeDefaultDescription
factory string org.infinispan.executors.DefaultExecutorFactory Fully qualified class name of the ExecutorFactory to use. Must implement org.infinispan.executors.ExecutorFactory (Javadoc)
PropertyDescription
threadNamePrefix Thread name prefix for threads created by this executor. Default values can be found here
maxThreads Maximum number of threads for this executor. Default values can be found here

asyncTransportExecutor

Configuration for the executor service used for asynchronous work on the Transport, including asynchronous marshalling and Cache 'async operations' such as Cache.putAsync().

The parent element is <global>. The only child element is <properties>.

AttributeTypeDefaultDescription
factory string org.infinispan.executors.DefaultExecutorFactory Fully qualified class name of the ExecutorFactory to use. Must implement org.infinispan.executors.ExecutorFactory (Javadoc)
PropertyDescription
threadNamePrefix Thread name prefix for threads created by this executor. Default values can be found here
maxThreads Maximum number of threads for this executor. Default values can be found here

clustering

Defines clustered characteristics of the cache.

The parent element is <default>. Child elements are <sync>, <l1>, <stateRetrieval>, <async>, <hash>.

AttributeTypeDefaultDescription
mode string DIST_SYNC Cache mode. For distribution, set mode to either 'd', 'dist' or 'distribution'. For replication, use either 'r', 'repl' or 'replication'. Finally, for invalidation, 'i', 'inv' or 'invalidation'. If the cache mode is set to 'l' or 'local', the cache in question will not support clustering even if its cache manager does. When no transport is enabled, the default is 'local' (instead of 'dist'). (Javadoc)

customInterceptors

Configures custom interceptors to be added to the cache.

The parent element is <default>. The only child element is <interceptor>.

dataContainer

This element controls the data container for the cache.

The parent element is <default>. The only child element is <properties>.

AttributeTypeDefaultDescription
class string org.infinispan.container.DefaultDataContainer Pluggable data container class which must implement {@link org.infinispan.container.DataContainer} (Javadoc)

deadlockDetection

This element configures deadlock detection.

The parent element is <default>.

AttributeTypeDefaultDescription
enabled boolean false Toggle to enable/disable deadlock detection (Javadoc)
spinDuration long 100 Time period that determines how often is lock acquisition attempted within maximum time allowed to acquire a particular lock (Javadoc)

default

Encapsulates the configuration of a Cache. Configures the default cache which can be retrieved via CacheManager.getCache(). These default settings are also used as a starting point when configuring namedCaches, since the default settings are inherited by any named cache.

The parent element is <infinispan>. Child elements are <transaction>, <invocationBatching>, <loaders>, <clustering>, <storeAsBinary>, <deadlockDetection>, <lazyDeserialization>, <eviction>, <dataContainer>, <customInterceptors>, <unsafe>, <jmxStatistics>, <indexing>, <locking>, <expiration>.

AttributeTypeDefaultDescription
name string null Only used with the namedCache element, this attribute specifies the name of the cache. Can be any String, but must be unique in a given configuration. (Javadoc)

eviction

This element controls the eviction settings for the cache.

The parent element is <default>.

AttributeTypeDefaultDescription
threadPolicy evictionThreadPolicy* (PIGGYBACK|DEFAULT) DEFAULT Threading policy for eviction. (Javadoc)
maxEntries int -1 Maximum number of entries in a cache instance. If selected value is not a power of two the actual value will default to the least power of two larger than selected value. -1 means no limit. (Javadoc)
strategy evictionStrategy* (NONE|UNORDERED|FIFO|LRU|LRU_OLD|LIRS) NONE Eviction strategy. Available options are 'UNORDERED', 'FIFO', 'LRU', 'LIRS' and 'NONE' (to disable eviction). (Javadoc)
wakeUpInterval long -9223372036854775808 Deprecated setting. Please use wakeUpInterval of expiration. (Javadoc)

evictionScheduledExecutor

Configuration for the scheduled executor service used to periodically run eviction cleanup tasks.

The parent element is <global>. The only child element is <properties>.

AttributeTypeDefaultDescription
factory string org.infinispan.executors.DefaultScheduledExecutorFactory Fully qualified class name of the ScheduledExecutorFactory to use. Must implement org.infinispan.executors.ScheduledExecutorFactory (Javadoc)
PropertyDescription
threadNamePrefix Thread name prefix for threads created by this executor. Default values can be found here
maxThreads Maximum number of threads for this executor. Default values can be found here

expiration

This element controls the default expiration settings for entries in the cache.

The parent element is <default>.

AttributeTypeDefaultDescription
lifespan long -1 Maximum lifespan of a cache entry, after which the entry is expired cluster-wide, in milliseconds. -1 means the entries never expire. Note that this can be overridden on a per-entry basis by using the Cache API. (Javadoc)
wakeUpInterval long 60000 Interval (in milliseconds) between subsequent runs to purge expired entries from memory and any cache stores. If you wish to disable the periodic eviction process altogether, set wakeupInterval to -1. (Javadoc)
maxIdle long -1 Maximum idle time a cache entry will be maintained in the cache, in milliseconds. If the idle time is exceeded, the entry will be expired cluster-wide. -1 means the entries never expire. Note that this can be overridden on a per-entry basis by using the Cache API. (Javadoc)

global

Defines global settings shared among all cache instances created by a single CacheManager.

The parent element is <infinispan>. Child elements are <globalJmxStatistics>, <replicationQueueScheduledExecutor>, <transport>, <asyncTransportExecutor>, <serialization>, <shutdown>, <evictionScheduledExecutor>, <asyncListenerExecutor>.

globalJmxStatistics

This element specifies whether global statistics are gathered and reported via JMX for all caches under this cache manager.

The parent element is <global>. The only child element is <properties>.

AttributeTypeDefaultDescription
jmxDomain string org.infinispan If JMX statistics are enabled then all 'published' JMX objects will appear under this name. This is optional, if not specified an object name will be created for you by default. (Javadoc)
enabled boolean false Toggle to enable/disable global statistics being exported via JMX (Javadoc)
cacheManagerName string DefaultCacheManager If JMX statistics are enabled, this property represents the name of this cache manager. It offers the possibility for clients to provide a user-defined name to the cache manager which later can be used to identify the cache manager within a JMX based management tool amongst other cache managers that might be running under the same JVM. (Javadoc)
mBeanServerLookup string org.infinispan.jmx.PlatformMBeanServerLookup Fully qualified name of class that will attempt to locate a JMX MBean server to bind to (Javadoc)
allowDuplicateDomains boolean false If true, multiple cache manager instances could be configured under the same configured JMX domain. Each cache manager will in practice use a different JMX domain that has been calculated based on the configured one by adding an incrementing index to it. (Javadoc)

grouper

Grouper definition. See The Grouping API for more details

The parent element is <groups>.

AttributeTypeDefaultDescription
class string null The grouper class (Javadoc)

groups

Configuration for various grouper definitions. See the user guide for more information

The parent element is <hash>. The only child element is <grouper>.

AttributeTypeDefaultDescription
enabled boolean false Enable grouping support (Javadoc)

hash

Allows fine-tuning of rehashing characteristics. Only used with 'distributed' cache mode, and otherwise ignored.

The parent element is <clustering>. The only child element is <groups>.

AttributeTypeDefaultDescription
numVirtualNodes int 1 Controls the number of virtual nodes per "real" node. You can read more about virtual nodes at ... If numVirtualNodes is 1, then virtual nodes are disabled. The topology aware consistent hash must be used if you wish to take advnatage of virtual nodes. A default of 1 is used. (Javadoc)
class string null Fully qualified name of class providing consistent hash algorithm (Javadoc)
rehashEnabled boolean true If false, no rebalancing or rehashing will take place when a new node joins the cluster or a node leaves (Javadoc)
numOwners int 2 Number of cluster-wide replicas for each cache entry. (Javadoc)
hashFunctionClass string org.infinispan.util.hash.MurmurHash3 A fully qualified name of the class providing a hash function, used as a bit spreader and a general hash code generator. Typically used in conjunction with the many default {@link org.infinispan.distribution.ch.ConsistentHash} implementations shipped. (Javadoc)
rehashWait long 60000 Future flag. Currenly unused. (Javadoc)
rehashRpcTimeout long 600000 Rehashing timeout (Javadoc)

indexing

Configures indexing of entries in the cache for searching. Note that infinispan-query.jar and its dependencies needs to be available if this option is to be used.

The parent element is <default>. The only child element is <properties>.

AttributeTypeDefaultDescription
indexLocalOnly boolean false If true, only index changes made locally, ignoring remote changes. This is useful if indexes are shared across a cluster to prevent redundant indexing of updates. (Javadoc)
enabled boolean false If enabled, entries will be indexed when they are added to the cache. Indexes will be updated as entries change or are removed. (Javadoc)

infinispan

InfinispanConfiguration encapsulates root component of Infinispan XML configuration. Can be empty for sensible defaults throughout, however that would only give you the most basic of local, non-clustered caches.

Child elements are <global>, <default>.

interceptor

Holds information about the custom interceptors defined in the configuration file.

The parent element is <customInterceptors>. The only child element is <properties>.

AttributeTypeDefaultDescription
after string null Places the new interceptor directly after the instance of the named interceptor which is specified via its fully qualified class name. Note that this attribute is mutually exclusive with 'position', 'before' and 'index'. (Javadoc)
index int -1 A position at which to place this interceptor in the chain, with 0 being the first position. Note that this attribute is mutually exclusive with 'position', 'before' and 'after'." (Javadoc)
before string null Places the new interceptor directly before the instance of the named interceptor which is specified via its fully qualified class name.. Note that this attribute is mutually exclusive with 'position', 'after' and 'index'." (Javadoc)
class string -1 A position at which to place this interceptor in the chain, with 0 being the first position. Note that this attribute is mutually exclusive with 'position', 'before' and 'after'." (Javadoc)
position string OTHER_THAN_FIRST_OR_LAST A position at which to place this interceptor in the chain. FIRST is the first interceptor encountered when an invocation is made on the cache, LAST is the last interceptor before the call is passed on to the data structure. Note that this attribute is mutually exclusive with 'before', 'after' and 'index'. (Javadoc)

invocationBatching

Defines whether invocation batching is allowed in this cache instance, and sets up internals accordingly to allow use of this API.

The parent element is <default>.

AttributeTypeDefaultDescription
enabled boolean false Toggle switch (Javadoc)

jmxStatistics

This element specifies whether cache statistics are gathered and reported via JMX.

The parent element is <default>.

AttributeTypeDefaultDescription
enabled boolean false Toggle switch (Javadoc)

l1

This element configures the L1 cache behavior in 'distributed' caches instances. In any other cache modes, this element is ignored.

The parent element is <clustering>.

AttributeTypeDefaultDescription
enabled boolean true Toggle to enable/disable L1 cache. (Javadoc)
invalidationThreshold int 0

Determines whether a multicast or a web of unicasts are used when performing L1 invalidations.

By default multicast will be used.

If the threshold is set to -1, then unicasts will always be used. If the threshold is set to 0, then multicast will be always be used.

(Javadoc)
onRehash boolean true If true, entries removed due to a rehash will be moved to L1 rather than being removed altogether. (Javadoc)
lifespan long 600000 Maximum lifespan of an entry placed in the L1 cache. (Javadoc)

lazyDeserialization

Deprecated configuration element. Use storeAsBinary instead.

The parent element is <default>.

AttributeTypeDefaultDescription
enabled boolean false Toggle switch (Javadoc)

loader

Responsible for loading/storing cache data from/to an external source.

The parent element is <loaders>. Child elements are <async>, <properties>, <singletonStore>.

AttributeTypeDefaultDescription
ignoreModifications boolean false If true, any operation that modifies the cache (put, remove, clear, store...etc) won't be applied to the cache store. This means that the cache store could become out of sync with the cache. (Javadoc)
purgeOnStartup boolean false If true, purges this cache store when it starts up. (Javadoc)
class string null Fully qualified name of a cache loader class that must implement org.infinispan.loaders.CacheLoader interface (Javadoc)
purgerThreads int 1 The number of threads to use when purging asynchronously. (Javadoc)
purgeSynchronously boolean false If true, CacheStore#purgeExpired() call will be done synchronously (Javadoc)
fetchPersistentState boolean false If true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled. Persistent state transfer with a shared cache store does not make sense, as the same persistent store that provides the data will just end up receiving it. Therefore, if a shared cache store is used, the cache will not allow a persistent state transfer even if a cache store has this property set to true. Finally, setting it to true only makes sense if in a clustered environment, and only 'replication' and 'invalidation' cluster modes are supported. (Javadoc)

loaders

Holds the configuration for cache loaders and stores

The parent element is <default>. The only child element is <loader>.

AttributeTypeDefaultDescription
preload boolean false (Javadoc)
shared boolean false (Javadoc)
passivation boolean false (Javadoc)

locking

Defines the local, in-VM locking and concurrency characteristics of the cache.

The parent element is <default>.

AttributeTypeDefaultDescription
lockAcquisitionTimeout long 10000 Maximum time to attempt a particular lock acquisition (Javadoc)
useLockStriping boolean false If true, a pool of shared locks is maintained for all entries that need to be locked. Otherwise, a lock is created per entry in the cache. Lock striping helps control memory footprint but may reduce concurrency in the system. (Javadoc)
concurrencyLevel int 32 Concurrency level for lock containers. Adjust this value according to the number of concurrent threads interating with Infinispan. Similar to the concurrencyLevel tuning parameter seen in the JDK's ConcurrentHashMap. (Javadoc)
writeSkewCheck boolean false This setting is only applicable in the case of REPEATABLE_READ. When write skew check is set to false, if the writer at commit time discovers that the working entry and the underlying entry have different versions, the working entry will overwrite the underlying entry. If true, such version conflict - known as a write-skew - will throw an Exception. (Javadoc)
isolationLevel isolationLevel* (NONE|SERIALIZABLE|REPEATABLE_READ|READ_COMMITTED|READ_UNCOMMITTED) READ_COMMITTED Cache isolation level. Infinispan only supports READ_COMMITTED or REPEATABLE_READ isolation levels. See http://en.wikipedia.org/wiki/Isolation_level for a discussion on isolation levels. (Javadoc)

recovery

Recovery makes sure data in both transactional resource and Infinispan end up in a consistent state. Fore more details see Infinispan Transaction Recovery.

The parent element is <transaction>.

AttributeTypeDefaultDescription
recoveryInfoCacheName string __recoveryInfoCacheName__ Returns the name of the cache used in order to keep recovery information. (Javadoc)
enabled boolean false Returns true if transaction recovery information is collected. (Javadoc)

replicationQueueScheduledExecutor

Configuration for the scheduled executor service used to periodically flush replication queues, used if asynchronous clustering is enabled along with useReplQueue being set to true.

The parent element is <global>. The only child element is <properties>.

AttributeTypeDefaultDescription
factory string org.infinispan.executors.DefaultScheduledExecutorFactory Fully qualified class name of the ScheduledExecutorFactory to use. Must implement org.infinispan.executors.ScheduledExecutorFactory (Javadoc)
PropertyDescription
threadNamePrefix Thread name prefix for threads created by this executor. Default values can be found here
maxThreads Maximum number of threads for this executor. Default values can be found here

serialization

Serialization and marshalling settings.

The parent element is <global>. The only child element is <advancedExternalizers>.

AttributeTypeDefaultDescription
marshallerClass string org.infinispan.marshall.VersionAwareMarshaller Fully qualified name of the marshaller to use. It must implement org.infinispan.marshall.StreamingMarshaller (Javadoc)
version string 5.1 Largest allowable version to use when marshalling internal state. Set this to the lowest version cache instance in your cluster to ensure compatibility of communications. However, setting this too low will mean you lose out on the benefit of improvements in newer versions of the marshaller. (Javadoc)

shutdown

This element specifies behavior when the JVM running the cache instance shuts down.

The parent element is <global>.

AttributeTypeDefaultDescription
hookBehavior shutdownHookBehavior* (DEFAULT|REGISTER|DONT_REGISTER) DEFAULT Behavior of the JVM shutdown hook registered by the cache. The options available are: DEFAULT - A shutdown hook is registered even if no MBean server (apart from the JDK default) is detected. REGISTER - Forces the cache to register a shutdown hook even if an MBean server is detected. DONT_REGISTER - Forces the cache NOT to register a shutdown hook, even if no MBean server is detected. (Javadoc)

singletonStore

SingletonStore is a delegating cache store used for situations when only one instance in a cluster should interact with the underlying store. The coordinator of the cluster will be responsible for the underlying CacheStore. SingletonStore is a simply facade to a real CacheStore implementation. It always delegates reads to the real CacheStore.

The parent element is <loader>.

AttributeTypeDefaultDescription
pushStateWhenCoordinator boolean true If true, when a node becomes the coordinator, it will transfer in-memory state to the underlying cache store. This can be very useful in situations where the coordinator crashes and there's a gap in time until the new coordinator is elected. (Javadoc)
enabled boolean false If true, the singleton store cache store is enabled. (Javadoc)
pushStateTimeout long 10000 If pushStateWhenCoordinator is true, this property sets the maximum number of milliseconds that the process of pushing the in-memory state to the underlying cache loader should take. (Javadoc)

stateRetrieval

Configures how state is retrieved when a new cache joins the cluster. This element is only used with invalidation and replication clustered modes.

The parent element is <clustering>.

AttributeTypeDefaultDescription
timeout long 240000 This is the maximum amount of time - in milliseconds - to wait for state from neighboring caches, before throwing an exception and aborting startup. (Javadoc)
alwaysProvideInMemoryState boolean false If true, this will allow the cache to provide in-memory state to a neighbor, even if the cache is not configured to fetch state from its neighbors (fetchInMemoryState is false) (Javadoc)
retryWaitTimeIncreaseFactor int 2 Wait time increase factor over successive state retrieval backoffs (Javadoc)
initialRetryWaitTime long 500 Initial wait time when backing off before retrying state transfer retrieval (Javadoc)
fetchInMemoryState boolean false If true, this will cause the cache to ask neighboring caches for state when it starts up, so the cache starts 'warm', although it will impact startup time. (Javadoc)
numRetries int 5 Number of state retrieval retries before giving up and aborting startup. (Javadoc)
logFlushTimeout long 60000 This is the maximum amount of time to run a cluster-wide flush, to allow for syncing of transaction logs. (Javadoc)
maxNonProgressingLogWrites int 100 This is the maximum number of non-progressing transaction log writes after which a brute-force flush approach is resorted to, to synchronize transaction logs. (Javadoc)

storeAsBinary

A mechanism by which data is stored as a binary byte array. This allows serialization and deserialization of objects is deferred till the point in time in which they are used and needed. This typically means that any deserialization happens using the thread context class loader of the invocation that requires deserialization, and is an effective mechanism to provide classloader isolation.

The parent element is <default>.

AttributeTypeDefaultDescription
storeKeysAsBinary boolean true If enabled, keys are stored as binary, in their serialized form. If false, keys are stored as object references. (Javadoc)
enabled boolean false Toggle switch (Javadoc)
storeValuesAsBinary boolean true If enabled, values are stored as binary, in their serialized form. If false, values are stored as object references. (Javadoc)

sync

If this element is present, all communications are synchronous, in that whenever a thread sends a message sent over the wire, it blocks until it receives an acknowledgment from the recipient. This element is mutually exclusive with the <async /> element.

Characteristics of this can be tuned here.

The parent element is <clustering>.

AttributeTypeDefaultDescription
replTimeout long 15000 This is the timeout (in ms) used to wait for an acknowledgment when making a remote call, after which the call is aborted and an exception is thrown. (Javadoc)

transaction

Defines transactional (JTA) characteristics of the cache.

The parent element is <default>. The only child element is <recovery>.

AttributeTypeDefaultDescription
useSynchronization boolean false If enabled Infinispan enlists within transactions as a {@link javax.transaction.Synchronization}. If disabled (default) then Infinispan enlists as an {@link javax.transaction.xa.XAResource}, being able to fully participate in distributed transaction. More about this here. (Javadoc)
syncCommitPhase boolean false If true, the cluster-wide commit phase in two-phase commit (2PC) transactions will be synchronous, so Infinispan will wait for responses from all nodes to which the commit was sent. Otherwise, the commit phase will be asynchronous. Keeping it as false improves performance of 2PC transactions, since any remote failures are trapped during the prepare phase anyway and appropriate rollbacks are issued. (Javadoc)
useEagerLocking boolean false Only has effect for DIST mode and when useEagerLocking is set to true. When this is enabled, then only one node is locked in the cluster, disregarding numOwners config. On the opposite, if this is false, then on all cache.lock() calls numOwners RPCs are being performed. The node that gets locked is the main data owner, i.e. the node where data would reside if numOwners==1. If the node where the lock resides crashes, then the transaction is marked for rollback - data is in a consistent state, no fault tolerance. (Javadoc)
transactionManagerLookupClass string org.infinispan.transaction.lookup.GenericTransactionManagerLookup Fully qualified class name of a class that looks up a reference to a {@link javax.transaction.TransactionManager}. The default provided is capable of locating the default TransactionManager in most popular Java EE systems, using a JNDI lookup. (Javadoc)
eagerLockSingleNode boolean false Only has effect for DIST mode and when useEagerLocking is set to true. When this is enabled, then only one node is locked in the cluster, disregarding numOwners config. On the opposite, if this is false, then on all cache.lock() calls numOwners RPCs are being performed. The node that gets locked is the main data owner, i.e. the node where data would reside if numOwners==1. If the node where the lock resides crashes, then the transaction is marked for rollback - data is in a consistent state, no fault tolerance. (Javadoc)
cacheStopTimeout int 30000 If there are any ongoing transactions when a cache is stopped, Infinispan waits for ongoing remote and local transactions to finish. The amount of time to wait for is defined by the cache stop timeout. It is recommended that this value does not exceed the transaction timeout because even if a new transaction was started just before the cache was stopped, this could only last as long as the transaction timeout allows it. (Javadoc)
syncRollbackPhase boolean false If true, the cluster-wide rollback phase in two-phase commit (2PC) transactions will be synchronous, so Infinispan will wait for responses from all nodes to which the rollback was sent. Otherwise, the rollback phase will be asynchronous. Keeping it as false improves performance of 2PC transactions. (Javadoc)

transport

This element configures the transport used for network communications across the cluster.

The parent element is <global>. The only child element is <properties>.

AttributeTypeDefaultDescription
nodeName string null Name of the current node. This is a friendly name to make logs, etc. make more sense. Defaults to a combination of host name and a random number (to differentiate multiple nodes on the same host) (Javadoc)
transportClass string org.infinispan.remoting.transport.jgroups.JGroupsTransport Fully qualified name of a class that represents a network transport. Must implement org.infinispan.remoting.transport.Transport (Javadoc)
strictPeerToPeer boolean true If set to true, RPC operations will fail if the named cache does not exist on remote nodes with a NamedCacheNotFoundException. Otherwise, operations will succeed but it will be logged on the caller that the RPC did not succeed on certain nodes due to the named cache not being available. (Javadoc)
siteId string null The id of the site where this node runs. Used for server hinting . (Javadoc)
rackId string null The id of the rack where this node runs. Used for server hinting . (Javadoc)
machineId string null The id of the machine where this node runs. Used for server hinting . (Javadoc)
distributedSyncTimeout long 240000 Infinispan uses a distributed lock to maintain a coherent transaction log during state transfer or rehashing, which means that only one cache can be doing state transfer or rehashing at the same time.This constraint is in place because more than one cache could be involved in a transaction.This timeout controls the time to wait to acquire acquire a lock on the distributed lock. (Javadoc)
clusterName string Infinispan-Cluster Defines the name of the cluster. Nodes only connect to clusters sharing the same name. (Javadoc)

unsafe

Allows you to tune various unsafe or non-standard characteristics. Certain operations such as Cache.put() that are supposed to return the previous value associated with the specified key according to the java.util.Map contract will not fulfill this contract if unsafe toggle is turned on. Use with care. See details at Technical FAQ

The parent element is <default>.

AttributeTypeDefaultDescription
unreliableReturnValues boolean false Toggle to enable/disable return value fetching (Javadoc)

Copyright © 2011 JBoss, a division of Red Hat. All Rights Reserved.