urn:infinispan:server:core:10.0

subsystem

Enumerates the cache containers available to the registry.

cache-container

Defines an embedded cache container.

NameTypeDefaultDescription
namestringUniquely identifies this cache container.
aliasesA set of aliases by which this cache container may also be referenced.
jndi-namestring The jndi name to which to bind this cache container. If undefined, the cache will be bound to: java:jboss/infinispan/container/container-name
default-cachestringIndicates the default cache for this cache container.
listener-executorstringDefines the executor used for asynchronous cache listener notifications. Deprecated: please use the listener-thread-pool element instead.
async-executorstringDefines the executor used for asynchronous cache operations. Deprecated: please use the async-operations-thread-pool element instead.
eviction-executorstringDefines the scheduled executor used for evictions. Deprecated: please use the expiration-thread-pool element instead.
state-transfer-executorstringDefines the executor used by the state transfer. Deprecated: please use the state-transfer-thread-pool element instead.
modulestringorg.infinispan.extensionDefines the module whose class loader should be used when building this cache container.
statisticsbooleantrueDetermines whether or not the cache container should collect statistics. Keep disabled for optimal performance.

transport?

Overrides the transport characteristics for this cache container.

NameTypeDefaultDescription
channelstringDefines the channel used for this transport.
stackstringDefines the jgroups stack used by the transport. Deprecated: please use the channel attribute instead.
clusterstringDefines the name for the underlying group communication cluster. Deprecated: please use the channel attribute instead.
executorstringDefines the executor used for asynchronous transport communication. Deprecated: please use the transport-thread-pool element instead.
lock-timeoutlong240000 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 a distributed lock.
remote-command-executorstringDefines the executor used for processing remote (non-total order) commands. Deprecated: please use the remote-command-thread-pool element instead.
strict-peer-to-peerbooleanfalse Makes clustered operations fail with NamedCacheNotFoundException if the named cache does not exist on remote nodes. If set to false, operations will succeed but it will be logged on the caller that the operation did not succeed on certain nodes due to the named cache not being available. This behaviour is applicable only to replicated caches. Defaults to false.
total-order-executorstringDefines the executor used for processing remote total order commands. Deprecated.
initial-cluster-sizeint The minimum number of nodes that must join the cluster for the cache manager to start
initial-cluster-timeoutlong The amount of time in milliseconds to wait for a cluster with sufficient nodes to form. Defaults to 60000

security?

Configures security for this cache container.

authorization?

Configures the global authorization role to permission mapping. The presence of this element in the configuration implicitly enables authorization.

identity-role-mapper

Uses the identity role mapper where principal names are converted as-is into role names.

common-name-role-mapper

Uses the common name role mapper which assumes principal names are in Distinguished Name format and extracts the Common Name to use as a role

cluster-role-mapper

Uses the cluster role mapper which stores the principal to role mappings within the cluster registry.

custom-role-mapper

Uses a custom role mapper.

NameTypeDefaultDescription
classstring Class of the custom principal to role mapper

role*

Defines a new role name and assigns permissions to it.

NameTypeDefaultDescription
namestring Defines the name of the role.
permissions
LIFECYCLE Allows control of a cache's lifecycle (i.e. starting and stopping a cache)
READ Allows reading data from a cache
WRITE Allows writing data to a cache
EXEC Allows performing task execution (e.g. distributed executors, map/reduce) on a cache
LISTEN Allows attaching listeners to a cache
BULK_READ Allows bulk-read operations (e.g. obtaining all the keys in a cache)
BULK_WRITE Allows bulk-write operations (e.g. clearing a cache)
ADMIN Allows performing "administrative" operations on a cache
ALL Aggregate permission which implies all of the others
ALL_READ Aggregate permission which implies all read permissions (READ and BULK_READ)
ALL_WRITE Aggregate permission which implies all write permissions (WRITE and BULK_WRITE)
NONE Permission which means no permissions
Defines the list of permissions for the role.

global-state?

Defines the global state configuration.

persistent-location?

Defines the path where global state for this cache-container will be stored. The data stored at this location is required for graceful shutdown and restore. This path must NOT be shared among multiple containers.

NameTypeDefaultDescription
relative-tostringjboss.server.temp.dirThe base directory in which to store the state
pathstringDefines the path where state for this cache-container will be stored.

shared-persistent-location?

Defines the path where shared global state for this cache-container will be stored. This path may be shared across multiple containers.

NameTypeDefaultDescription
relative-tostringjboss.server.temp.dirThe base directory in which to store the state
pathstringDefines the path where state for this cache-container will be stored.

temporary-location?

Defines the path which will be used to store temporary data.

NameTypeDefaultDescription
relative-tostringjboss.server.temp.dirThe base directory in which to store the state
pathstringDefines the path where state for this cache-container will be stored.

immutable-configuration-storage

An immutable configuration storage.

volatile-configuration-storage

A non-persistent configuration storage.

overlay-configuration-storage

A persistent configuration storage which saves runtime configurations to the persistent-location.

managed-configuration-storage

A configuration storage which uses the server configuration model for configuration persistence. Currently only implemented for standalone deployments.

custom-configuration-storage

Uses a custom configuration storage implementation.

NameTypeDefaultDescription
classstring Class of the custom configuration storage implementation.

async-operations-thread-pool?

Defines a thread pool used for asynchronous operations.

NameTypeDefaultDescription
min-threadsintMinimum thread pool size for the thread pool.
max-threadsintMaximum thread pool size for the thread pool.
queue-lengthintMaximum queue length for the thread pool.
keepalive-timelongTimeout in milliseconds to remove idle thread from the pool.

expiration-thread-pool?

Defines a thread pool used for expiration.

NameTypeDefaultDescription
min-threadsintMinimum thread pool size for the thread pool.
max-threadsintMaximum thread pool size for the thread pool.
queue-lengthintMaximum queue length for the thread pool.
keepalive-timelongTimeout in milliseconds to remove idle thread from the pool.

listener-thread-pool?

Defines a thread pool used for asynchronous cache listener notifications.

NameTypeDefaultDescription
min-threadsintMinimum thread pool size for the thread pool.
max-threadsintMaximum thread pool size for the thread pool.
queue-lengthintMaximum queue length for the thread pool.
keepalive-timelongTimeout in milliseconds to remove idle thread from the pool.

persistence-thread-pool?

Defines a thread pool used for interacting with the persistent store.

NameTypeDefaultDescription
min-threadsintMinimum thread pool size for the thread pool.
max-threadsintMaximum thread pool size for the thread pool.
queue-lengthintMaximum queue length for the thread pool.
keepalive-timelongTimeout in milliseconds to remove idle thread from the pool.

remote-command-thread-pool?

Defines a thread pool used for executing remote commands.

NameTypeDefaultDescription
min-threadsintMinimum thread pool size for the thread pool.
max-threadsintMaximum thread pool size for the thread pool.
queue-lengthintMaximum queue length for the thread pool.
keepalive-timelongTimeout in milliseconds to remove idle thread from the pool.

state-transfer-thread-pool?

Defines a thread pool used for state transfer.

NameTypeDefaultDescription
min-threadsintMinimum thread pool size for the thread pool.
max-threadsintMaximum thread pool size for the thread pool.
queue-lengthintMaximum queue length for the thread pool.
keepalive-timelongTimeout in milliseconds to remove idle thread from the pool.

transport-thread-pool?

Defines a thread pool used for asynchronous transport communication.

NameTypeDefaultDescription
min-threadsintMinimum thread pool size for the thread pool.
max-threadsintMaximum thread pool size for the thread pool.
queue-lengthintMaximum queue length for the thread pool.
keepalive-timelongTimeout in milliseconds to remove idle thread from the pool.

modules?

A list of zero or more module dependencies to make available to the global ClassLoader of the cache container.

module

A module dependency specification.

NameTypeDefaultDescription
name The dependency module name (required), which consists of one or more dot (.)-separated segments. Each segment must begin and end with an alphanumeric or underscore (_), and may otherwise contain alphanumerics, underscores, and hyphens (-).
slotmain The dependency module version slot (optional). A slot may consist of one or more alphanumerics, hyphens (-), underscores (_), plus signs (+), asterisks (*), or dots (.).

local-cache-configuration

Defines a LOCAL mode cache configuration.

NameTypeDefaultDescription
simple-cachebooleanfalseThis cache will be using optimized (faster) implementation that does not support transactions/invocation batching, persistence, custom interceptors, indexing, store-as-binary or transcoding. Also, this type of cache does not support Map-Reduce jobs or Distributed Executor framework.
NameTypeDefaultDescription
namestringUniquely identifies this cache within its cache container.
configurationstringThe name of the cache configuration which this configuration inherits from.
batchingbooleanfalseEnables invocation batching for this cache. Defaults to false.
jndi-namestring The jndi name to which to bind this cache. If undefined, the cache will be bound to: java:jboss/infinispan/cache/container-name/cache-name
modulestring Defines the module whose class loader should be used when building this cache, if different from the enclosing cache container. Deprecated: This attribute is currently ignored and usages will cause a warning to be logged. It will be removed in next major version.
statisticsbooleanfalseDetermines whether or not the cache should collect statistics. Keep disabled for optimal performance.
statistics-availablebooleantrueIf set to false, statistics gathering cannot be enabled during runtime. Keep disabled for optimal performance.

backups?

The cross-site backup configuration.

backup+

Configures a specific site where this cache backups data.

NameTypeDefaultDescription
sitestringName of the remote site where this cache backups data.
strategy
ASYNCEnables asynchronous mode.
SYNCEnables synchronous mode.
ASYNCThe strategy used for backing up data: "SYNC" or "ASYNC". Defaults to "ASYNC"
failure-policy
IGNOREIgnore backup failures.
WARNWarn of backup failures.
FAILFail local operations when a backup failure occurs.
WARNDecides what the system would do in case of failure during backup. Defaults to "FAIL"
timeoutlong15000The timeout(millis) to be used when backing up data remotely. Defaults to 10 secs.
enabledbooleantrueIf 'false' then no data is backed up to this site. Defaults to 'true'.

take-offline?

Determines whether this backup is taken offline (ignored) after a certain number of tries.

NameTypeDefaultDescription
after-failuresint0The number of failed request operations after which this site should be taken offline. Defaults to 0 (never). A negative value would mean that the site will be taken offline after 'min-wait'.
min-waitlong0The minimal number of millis to wait before taking this site offline, even in the case 'after-failures' is reached. If smaller or equal to 0, then only 'after-failures' is considered.

state-transfer?

Configures the properties needed to transfer the state for this site.

NameTypeDefaultDescription
chunk-sizeint512 If > 0, the state will be transferred in batches of {@code chunkSize} cache entries. If <= 0, the state will be transferred in all at once. Not recommended. Defaults to 512.
timeoutlong1200000 The time (in milliseconds) to wait for the backup site acknowledge the state chunk received and applied. Default value is 20 min.
max-retriesint30 The maximum number of retries when a push state command fails. A value <= 0 (zero) mean that the command will not retry. Default value is 30.
wait-timelong2000 The waiting time (in milliseconds) between each retry. The value should be > 0 (zero). Default value is 2 seconds.

backup-for?

Configures this cache as a backup for a remote cache.

NameTypeDefaultDescription
remote-cachestring The name of the remote cache that backups data here.
remote-sitestring The name of the remote site containing the cache that backups data here.

encoding?

The cache encoding configuration.

Defines encoding for keys and values of the cache.

key?

Describes the content-type and encoding.
NameTypeDefaultDescription
media-typestring

value?

Describes the content-type and encoding.
NameTypeDefaultDescription
media-typestring

locking?

The locking configuration of the cache.

NameTypeDefaultDescription
isolation
NONENo locking isolation will be performed. This is only valid in local mode. In clustered mode, READ_COMMITTED will be used instead.
READ_UNCOMMITTEDUnsupported. Actually configures READ_COMMITTED
READ_COMMITTEDRead committed is an isolation level that guarantees that any data read is committed at the moment it is read. However, depending on the outcome of other transactions, successive reads may return different results
REPEATABLE_READRepeatable read is an isolation level that guarantees that any data read is committed at the moment it is read and that, within a transaction, successive reads will always return the same data.
SERIALIZABLEUnsupported. Actually configures REPEATABLE_READ
REPEATABLE_READSets the cache locking isolation level. Defaults to READ_COMMITTED. When using REPEATABLE_READ with optimistic locking, write skew checking will be enabled.
stripingbooleanfalseIf 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.
acquire-timeoutlong10000Maximum time to attempt a particular lock acquisition.
concurrency-levelint32Concurrency level for lock containers. Adjust this value according to the number of concurrent threads interacting with Infinispan.

transaction?

The cache transaction configuration.

NameTypeDefaultDescription
mode
NONECache will not enlist within transactions.
NON_XACache will enlist within transactions as a javax.transaction.Synchronization
NON_DURABLE_XACache will enlist within transactions as a javax.transaction.xa.XAResource, without recovery.
FULL_XACache will enlist within transactions as a javax.transaction.xa.XAResource, with recovery.
NONESets the cache transaction mode to one of NONE, NON_XA, NON_DURABLE_XA, FULL_XA.
stop-timeoutlong30000If 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.
locking
OPTIMISTICEnables Optimistic locking.
PESSIMISTICEnables Pessimistic locking.
OPTIMISTICThe locking mode for this cache, one of OPTIMISTIC or PESSIMISTIC.
notificationsbooleantrue Enables or disables triggering transactional notifications on cache listeners. By default is enabled.

memory?

The cache memory configuration.

object

Store keys and values as instance variables. Instances of byte[] will be wrapped to ensure equality.

NameTypeDefaultDescription
sizelong-1The size of the eviction cache as a long. Limits the cache to this normal by the amount of entries in the cache.
strategy
NONENever evict entries. This is the default.
MANUALEviction will be performed manually. Equivalent internally to NONE.
REMOVEEviction will be performed automatically to ensure that "older" entries are removed to make room for new entries.
EXCEPTIONEviction is not performed and instead when the container is full exceptions will prevent new entries from being written to the container. This cache must be transactional and now allow for commit optimizations that would prevent it from performing a two phase commit.
UNORDEREDDeprecated. Activates REMOVE policy.
FIFODeprecated. Activates REMOVE policy.
LRUDeprecated. Activates REMOVE policy.
LIRSDeprecated. Activates REMOVE policy.
The eviction strategy to use. This determines if eviction is even enabled or if it has a different variant.

binary

Store keys and values as byte[] instances. Key and value will be serialized to binary representations.

NameTypeDefaultDescription
sizelong-1The size of the eviction cache as a long. If the configured type is COUNT, this will be how many entries can be stored. If the configured type is MEMORY, this will be how much memory in bytes can be stored.
evictionFIXMEThe eviction type to use whether it is COUNT or MEMORY. COUNT will limit the cache based on the number of entries. MEMORY will limit the cache by how much memory the entries use
strategy
NONENever evict entries. This is the default.
MANUALEviction will be performed manually. Equivalent internally to NONE.
REMOVEEviction will be performed automatically to ensure that "older" entries are removed to make room for new entries.
EXCEPTIONEviction is not performed and instead when the container is full exceptions will prevent new entries from being written to the container. This cache must be transactional and now allow for commit optimizations that would prevent it from performing a two phase commit.
UNORDEREDDeprecated. Activates REMOVE policy.
FIFODeprecated. Activates REMOVE policy.
LRUDeprecated. Activates REMOVE policy.
LIRSDeprecated. Activates REMOVE policy.
The eviction strategy to use. This determines if eviction is even enabled or if it has a different variant.

off-heap

Store keys and values as byte[] off of the Java heap. Key and value will be serialized to binary representations and stored in native memory as to not take up Java heap. Temporary objects will be put onto Java heap temporarily until processing is completed.

NameTypeDefaultDescription
sizelong-1The size of the eviction cache as a long. If the configured type is COUNT, this will be how many entries can be stored. If the configured type is MEMORY, this will be how much memory in bytes can be stored.
evictionFIXMEThe eviction type to use whether it is COUNT or MEMORY. COUNT will limit the cache based on the number of entries. MEMORY will limit the cache by how much memory the entries use
strategy
NONENever evict entries. This is the default.
MANUALEviction will be performed manually. Equivalent internally to NONE.
REMOVEEviction will be performed automatically to ensure that "older" entries are removed to make room for new entries.
EXCEPTIONEviction is not performed and instead when the container is full exceptions will prevent new entries from being written to the container. This cache must be transactional and now allow for commit optimizations that would prevent it from performing a two phase commit.
UNORDEREDDeprecated. Activates REMOVE policy.
FIFODeprecated. Activates REMOVE policy.
LRUDeprecated. Activates REMOVE policy.
LIRSDeprecated. Activates REMOVE policy.
The eviction strategy to use. This determines if eviction is even enabled or if it has a different variant.
address-countint1048576How many address pointers to use. For optimal performance you will want more address pointers than you expect to have entries. This is similar to the size of an array backing a hash map. Without collisions lookups and writes will be constant time. Each pointer will take up 8 bytes of memory thus the default will use 8 MB of off heap memory.

expiration?

The cache expiration configuration.

NameTypeDefaultDescription
max-idlelong-1Maximum 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.
lifespanlong-1Maximum lifespan of a cache entry, after which the entry is expired cluster-wide, in milliseconds. -1 means the entries never expire.
intervallong60000Interval (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 interval to -1.

persistence?

The cache persistence configuration where cache stores/loaders should be configured.

NameTypeDefaultDescription
passivationbooleanfalse If true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. This gives you the ability to 'overflow' to disk, similar to swapping in an operating system. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Defaults to false.
connection-attemptsint10 The maximum number of unsuccessful attempts to start each of the configured CacheWriter/CacheLoader before an exception is thrown and the cache fails to start.
connection-intervalint50 The time, in milliseconds, to wait between subsequent connection attempts on startup. A negative or zero value means no wait between connection attempts.
availability-intervalint1000 The time, in milliseconds, between availability checks to determine if the PersistenceManager is available. In other words, this interval sets how often stores/loaders are polled via their `org.infinispan.persistence.spi.CacheWriter#isAvailable` or `org.infinispan.persistence.spi.CacheLoader#isAvailable` implementation. If a single store/loader is not available, an exception is thrown during cache operations.

cluster-loader

Defines a cluster cache loader.

NameTypeDefaultDescription
remote-timeoutlongThe timeout when performing remote calls.
NameTypeDefaultDescription
namestringUniquely identifies this loader.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.

property*

A cache loader property with name and value.

store

Defines a custom cache store.

NameTypeDefaultDescription
classstringThe class name of the cache store implementation.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

loader

Defines a custom cache loader.

NameTypeDefaultDescription
classstringThe class name of the cache loader implementation.
NameTypeDefaultDescription
namestringUniquely identifies this loader.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.

property*

A cache loader property with name and value.

file-store

Defines a file-based cache store.

NameTypeDefaultDescription
max-entriesint Sets the maximum number of in-memory mappings between keys and their position in the store. Normally this is unlimited, but to avoid excess memory usage, an upper bound can be configured. If this limit is exceeded, entries are removed permanently using the LRU algorithm both from the in-memory index and the underlying file based cache store. Warning: setting this value may cause data loss.
relative-tostringjboss.server.data.dirThe base directory in which to store the cache state.
pathstring The path within "relative-to" in which to store the cache state. If undefined, the path defaults to the cache container name.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

string-keyed-jdbc-store

Defines a database cache store accessed via JDBC using string-based keys.

string-keyed-table?

Defines the table used to store cache entries.

NameTypeDefaultDescription
prefixstringispn_entryDefines the prefix prepended to the cache name used when composing the name of the cache entry table.
NameTypeDefaultDescription
fetch-sizeint100The fetch size used when querying from this table. Used to avoid heap memory exhaustion when query is large.
batch-sizeint100The statement batch size used when modifying this table.
create-on-startbooleantrueDetermines whether database tables should be created by the store on startup.
drop-on-exitbooleanfalseDetermines whether database tables should be dropped by the store on shutdown.

id-column?

Defines the column in which to store the cache key or bucket id.

NameTypeDefaultDescription
namestringidThe name of the column used to store the cache key or bucket id.
typestringVARCHARThe type of the column used to store the cache key or bucket id.

data-column?

Defines the column in which to store the cache entry or bucket.

NameTypeDefaultDescription
namestringdatumThe name of the column used to store the cache entry or bucket.
typestringBINARYThe type of the column used to store the cache entry or bucket.

timestamp-column?

Defines the column in which to store the timestamp of the cache entry or bucket.

NameTypeDefaultDescription
namestringversionThe name of the column used to store the cache entry or bucket timestamp.
typestringBIGINTThe type of the column used to store the cache entry or bucket timestamp.
NameTypeDefaultDescription
datasourcestringDefines the jndi name of the datasource.
dialect
ACCESS
DB2
DB2_390
DERBY
FIREBIRD
H2
HSQL
INFORMIX
INTERBASE
MARIA_DB
MYSQL
ORACLE
POSTGRES
SQL_SERVER
SQLITE
SYBASE
Defines the JDBC dialect.
db-major-versionnonNegativeIntegerDefines the major version of the database.
db-minor-versionnonNegativeIntegerDefines the minor version of the database.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

rocksdb-store

Defines a RocksDB cache store.

NameTypeDefaultDescription
relative-tostringjboss.server.data.dirThe base directory in which to store the cache state.
pathstring The path within "relative-to" in which to store the cache state. If undefined, the path defaults to the cache container name.
block-sizeintegerCache store block size.
cache-sizelongCache size for the cache store.
clear-thresholdintegerCache store cache clear threshold.

expiration?

Defines the expiration settings for the RocksDB cache store.

NameTypeDefaultDescription
pathstringThe base directory in which to store expired cache state.
queue-sizeinteger10000Expired entry queue size.

compression?

Defines the data compression to use in the RocksDB store.

NameTypeDefaultDescription
type
NONENo compression.
SNAPPYSnappy compression.
ZLIBZLib compression.
BZLIB2BZLib 2 compression.
LZ4LZ4 compression.
LZ4HCLZ4HC compression.
NONEThe type of compression to be used by RocksDB store.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

remote-store

Defines a remote cache store accessed via HotRod.

NameTypeDefaultDescription
cachestringThe name of the remote cache. If undefined, the default cache will be used.
socket-timeoutlong60000 Enable/disable SO_TIMEOUT on socket connections to remote Hot Rod servers with the specified timeout, in milliseconds. A timeout of zero is interpreted as an infinite timeout.
tcp-no-delaybooleantrue Enable/disable TCP_NODELAY on socket connections to remote Hot Rod servers.
hotrod-wrappingbooleanfalse Ensures that, when entries are retrieved from the remote store, they will be wrapped in a format suitable for serving via HotRod. This flag must be enabled when performing a rolling upgrade
raw-valuesbooleanfalse Enables the storage of data on the remote server in "raw" format as opposed to wrapping the entries in InternalCacheEntry. This will make the remote cache interoperable between direct RemoteCacheManager clients and RemoteCacheStore stores
protocol-versionstring This property defines the protocol version that this client should use.

remote-server+

NameTypeDefaultDescription
outbound-socket-bindingstringAn outbound socket binding for a remote server.

authentication?

plain

Uses PLAIN authentication with the supplied credentials.
NameTypeDefaultDescription
usernamestring
passwordstring

digest

Uses DIGEST-MD5 authentication with the supplied credentials.
NameTypeDefaultDescription
usernamestring
passwordstring
realmstring
server-namestring

external

Uses EXTERNAL authentication, with credentials supplied by the encrypted transport client certificate.

encryption?

NameTypeDefaultDescription
security-realmFIXMEA security realm which supplies a truststore for identifying the remote servers. If client authentication is required, then the security realm must also provide an identity keystore.
sni-hostnameFIXMEAn optional SNI hostname for identifying the remote server.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

rest-store

Defines a remote cache store accessed via REST.

NameTypeDefaultDescription
append-cache-name-to-pathbooleanfalseWhether to append the name of the cache to the path.
pathstring/rest/___defaultcacheThe path portion of the URI of the remote REST endpoint.
max-content-lengthint10485760The maximum allowed content length of a POST/PUT request.

remote-server+

NameTypeDefaultDescription
outbound-socket-bindingstringAn outbound socket binding for a remote server.

connection-pool+

NameTypeDefaultDescription
buffer-sizeint8192The size of the socket buffer.
connection-timeoutint60000A connection timeout for remote cache communication.
max-connections-per-hostint4The maximum number of connections per host.
max-total-connectionsint20The maximum number of total connections.
socket-timeoutint60000A socket timeout for remote cache communication.
tcp-no-delaybooleantrueEnable/disable TCP_NODELAY on socket connections to remote Hot Rod servers.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

soft-index-file-store

Defines a soft-index file store.

NameTypeDefaultDescription
open-files-limitint1000 Max number of data files opened for reading (current log file, compaction output and index segments are not included here).
compaction-thresholddouble0.5 If amount of unused space in some data file gets above this threshold, the file is compacted - entries from that file are copied to a new file and the old file is deleted.

data?

Configure where and how should be the entries stored - this is the persistent location.
NameTypeDefaultDescription
pathstringjboss.server.data.dir A location on disk where the store writes entries. Files are written sequentially, reads are random.
max-file-sizeint16777216 Max size of single file with entries, in bytes.
sync-writesbooleanfalse If true, the write is confirmed only after the entry is fsynced on disk.

index?

Configure where and how should be the index stored.
NameTypeDefaultDescription
pathstringjboss.server.data.dir A location where the store keeps index - this does not have to be persistent across restarts, and SSD storage is recommended (the index is accessed randomly).
segmentsint3 Number of index segment files. Increasing this value improves throughput but requires more threads to be spawned.
max-queue-lengthint1000 Max number of entry writes that are waiting to be written to the index, per index segment.
max-node-sizeint4096 Max size of node (continuous block on filesystem used in index implementation), in bytes.
min-node-sizeint0 If the size of node (continuous block on filesystem used in index implementation) drops below this threshold, the node will try to balance its size with some neighbour node, possibly causing join of multiple nodes.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

cluster-loader

Defines a cluster cache loader. Deprecated: Please define loaders under the persistence element.

NameTypeDefaultDescription
remote-timeoutlongThe timeout when performing remote calls.
NameTypeDefaultDescription
namestringUniquely identifies this loader.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.

property*

A cache loader property with name and value.

store

Defines a custom cache store. Deprecated: Please define stores under the persistence element.

NameTypeDefaultDescription
classstringThe class name of the cache store implementation.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

loader

Defines a custom cache loader. Deprecated: Please define loaders under the persistence element.

NameTypeDefaultDescription
classstringThe class name of the cache loader implementation.
NameTypeDefaultDescription
namestringUniquely identifies this loader.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.

property*

A cache loader property with name and value.

file-store

Defines a file-based cache store. Deprecated: Please define stores under the persistence element.

NameTypeDefaultDescription
max-entriesint Sets the maximum number of in-memory mappings between keys and their position in the store. Normally this is unlimited, but to avoid excess memory usage, an upper bound can be configured. If this limit is exceeded, entries are removed permanently using the LRU algorithm both from the in-memory index and the underlying file based cache store. Warning: setting this value may cause data loss.
relative-tostringjboss.server.data.dirThe base directory in which to store the cache state.
pathstring The path within "relative-to" in which to store the cache state. If undefined, the path defaults to the cache container name.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

string-keyed-jdbc-store

Defines a database cache store accessed via JDBC using string-based keys. Deprecated: Please define stores under the persistence element.

string-keyed-table?

Defines the table used to store cache entries.

NameTypeDefaultDescription
prefixstringispn_entryDefines the prefix prepended to the cache name used when composing the name of the cache entry table.
NameTypeDefaultDescription
fetch-sizeint100The fetch size used when querying from this table. Used to avoid heap memory exhaustion when query is large.
batch-sizeint100The statement batch size used when modifying this table.
create-on-startbooleantrueDetermines whether database tables should be created by the store on startup.
drop-on-exitbooleanfalseDetermines whether database tables should be dropped by the store on shutdown.

id-column?

Defines the column in which to store the cache key or bucket id.

NameTypeDefaultDescription
namestringidThe name of the column used to store the cache key or bucket id.
typestringVARCHARThe type of the column used to store the cache key or bucket id.

data-column?

Defines the column in which to store the cache entry or bucket.

NameTypeDefaultDescription
namestringdatumThe name of the column used to store the cache entry or bucket.
typestringBINARYThe type of the column used to store the cache entry or bucket.

timestamp-column?

Defines the column in which to store the timestamp of the cache entry or bucket.

NameTypeDefaultDescription
namestringversionThe name of the column used to store the cache entry or bucket timestamp.
typestringBIGINTThe type of the column used to store the cache entry or bucket timestamp.
NameTypeDefaultDescription
datasourcestringDefines the jndi name of the datasource.
dialect
ACCESS
DB2
DB2_390
DERBY
FIREBIRD
H2
HSQL
INFORMIX
INTERBASE
MARIA_DB
MYSQL
ORACLE
POSTGRES
SQL_SERVER
SQLITE
SYBASE
Defines the JDBC dialect.
db-major-versionnonNegativeIntegerDefines the major version of the database.
db-minor-versionnonNegativeIntegerDefines the minor version of the database.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

rocksdb-store

Defines a RocksDB cache store. Deprecated: Please define stores under the persistence element.

NameTypeDefaultDescription
relative-tostringjboss.server.data.dirThe base directory in which to store the cache state.
pathstring The path within "relative-to" in which to store the cache state. If undefined, the path defaults to the cache container name.
block-sizeintegerCache store block size.
cache-sizelongCache size for the cache store.
clear-thresholdintegerCache store cache clear threshold.

expiration?

Defines the expiration settings for the RocksDB cache store.

NameTypeDefaultDescription
pathstringThe base directory in which to store expired cache state.
queue-sizeinteger10000Expired entry queue size.

compression?

Defines the data compression to use in the RocksDB store.

NameTypeDefaultDescription
type
NONENo compression.
SNAPPYSnappy compression.
ZLIBZLib compression.
BZLIB2BZLib 2 compression.
LZ4LZ4 compression.
LZ4HCLZ4HC compression.
NONEThe type of compression to be used by RocksDB store.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

remote-store

Defines a remote cache store accessed via HotRod. Deprecated: Please define stores under the persistence element.

NameTypeDefaultDescription
cachestringThe name of the remote cache. If undefined, the default cache will be used.
socket-timeoutlong60000 Enable/disable SO_TIMEOUT on socket connections to remote Hot Rod servers with the specified timeout, in milliseconds. A timeout of zero is interpreted as an infinite timeout.
tcp-no-delaybooleantrue Enable/disable TCP_NODELAY on socket connections to remote Hot Rod servers.
hotrod-wrappingbooleanfalse Ensures that, when entries are retrieved from the remote store, they will be wrapped in a format suitable for serving via HotRod. This flag must be enabled when performing a rolling upgrade
raw-valuesbooleanfalse Enables the storage of data on the remote server in "raw" format as opposed to wrapping the entries in InternalCacheEntry. This will make the remote cache interoperable between direct RemoteCacheManager clients and RemoteCacheStore stores
protocol-versionstring This property defines the protocol version that this client should use.

remote-server+

NameTypeDefaultDescription
outbound-socket-bindingstringAn outbound socket binding for a remote server.

authentication?

plain

Uses PLAIN authentication with the supplied credentials.
NameTypeDefaultDescription
usernamestring
passwordstring

digest

Uses DIGEST-MD5 authentication with the supplied credentials.
NameTypeDefaultDescription
usernamestring
passwordstring
realmstring
server-namestring

external

Uses EXTERNAL authentication, with credentials supplied by the encrypted transport client certificate.

encryption?

NameTypeDefaultDescription
security-realmFIXMEA security realm which supplies a truststore for identifying the remote servers. If client authentication is required, then the security realm must also provide an identity keystore.
sni-hostnameFIXMEAn optional SNI hostname for identifying the remote server.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

rest-store

Defines a remote cache store accessed via REST. Deprecated: Please define stores under the persistence element.

NameTypeDefaultDescription
append-cache-name-to-pathbooleanfalseWhether to append the name of the cache to the path.
pathstring/rest/___defaultcacheThe path portion of the URI of the remote REST endpoint.
max-content-lengthint10485760The maximum allowed content length of a POST/PUT request.

remote-server+

NameTypeDefaultDescription
outbound-socket-bindingstringAn outbound socket binding for a remote server.

connection-pool+

NameTypeDefaultDescription
buffer-sizeint8192The size of the socket buffer.
connection-timeoutint60000A connection timeout for remote cache communication.
max-connections-per-hostint4The maximum number of connections per host.
max-total-connectionsint20The maximum number of total connections.
socket-timeoutint60000A socket timeout for remote cache communication.
tcp-no-delaybooleantrueEnable/disable TCP_NODELAY on socket connections to remote Hot Rod servers.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

indexing?

Defines indexing options for cache

NameTypeDefaultDescription
index
NONEDo not index data. This is the default.
LOCALOnly index changes made locally, ignoring remote changes. This is useful if indexes are shared across a cluster to prevent redundant indexing of updates.
ALLIndex all data
PRIMARY_OWNEROnly index changes on the primary owner, regardless of it's local or remote.
NONEThe indexing mode of the cache. Defaults to NONE.
auto-configbooleanfalseWhether or not to apply automatic index configuration based on cache type

key-transformers?

Defines the Transformers used to stringify keys for indexing with Lucene

key-transformer*

Defines the Transformer to use for the specified key class
NameTypeDefaultDescription
keystring
transformerstring

indexed-entities?

Defines the indexed entity classes

indexed-entity*

Indexed entity class name

property*

Property to pass on to the indexing system

security?

Configures cache-level security.

authorization?

Configures authorization for this cache.

NameTypeDefaultDescription
enabledbooleantrue Enables authorization checks for this cache. Defaults to true if the authorization element is present.
roles Sets the valid roles required to access this cache.

local-cache

Defines a LOCAL mode cache.

NameTypeDefaultDescription
simple-cachebooleanfalseThis cache will be using optimized (faster) implementation that does not support transactions/invocation batching, persistence, custom interceptors, indexing, store-as-binary or transcoding. Also, this type of cache does not support Map-Reduce jobs or Distributed Executor framework.
NameTypeDefaultDescription
namestringUniquely identifies this cache within its cache container.
configurationstringThe name of the cache configuration which this configuration inherits from.
batchingbooleanfalseEnables invocation batching for this cache. Defaults to false.
jndi-namestring The jndi name to which to bind this cache. If undefined, the cache will be bound to: java:jboss/infinispan/cache/container-name/cache-name
modulestring Defines the module whose class loader should be used when building this cache, if different from the enclosing cache container. Deprecated: This attribute is currently ignored and usages will cause a warning to be logged. It will be removed in next major version.
statisticsbooleanfalseDetermines whether or not the cache should collect statistics. Keep disabled for optimal performance.
statistics-availablebooleantrueIf set to false, statistics gathering cannot be enabled during runtime. Keep disabled for optimal performance.

backups?

The cross-site backup configuration.

backup+

Configures a specific site where this cache backups data.

NameTypeDefaultDescription
sitestringName of the remote site where this cache backups data.
strategy
ASYNCEnables asynchronous mode.
SYNCEnables synchronous mode.
ASYNCThe strategy used for backing up data: "SYNC" or "ASYNC". Defaults to "ASYNC"
failure-policy
IGNOREIgnore backup failures.
WARNWarn of backup failures.
FAILFail local operations when a backup failure occurs.
WARNDecides what the system would do in case of failure during backup. Defaults to "FAIL"
timeoutlong15000The timeout(millis) to be used when backing up data remotely. Defaults to 10 secs.
enabledbooleantrueIf 'false' then no data is backed up to this site. Defaults to 'true'.

take-offline?

Determines whether this backup is taken offline (ignored) after a certain number of tries.

NameTypeDefaultDescription
after-failuresint0The number of failed request operations after which this site should be taken offline. Defaults to 0 (never). A negative value would mean that the site will be taken offline after 'min-wait'.
min-waitlong0The minimal number of millis to wait before taking this site offline, even in the case 'after-failures' is reached. If smaller or equal to 0, then only 'after-failures' is considered.

state-transfer?

Configures the properties needed to transfer the state for this site.

NameTypeDefaultDescription
chunk-sizeint512 If > 0, the state will be transferred in batches of {@code chunkSize} cache entries. If <= 0, the state will be transferred in all at once. Not recommended. Defaults to 512.
timeoutlong1200000 The time (in milliseconds) to wait for the backup site acknowledge the state chunk received and applied. Default value is 20 min.
max-retriesint30 The maximum number of retries when a push state command fails. A value <= 0 (zero) mean that the command will not retry. Default value is 30.
wait-timelong2000 The waiting time (in milliseconds) between each retry. The value should be > 0 (zero). Default value is 2 seconds.

backup-for?

Configures this cache as a backup for a remote cache.

NameTypeDefaultDescription
remote-cachestring The name of the remote cache that backups data here.
remote-sitestring The name of the remote site containing the cache that backups data here.

encoding?

The cache encoding configuration.

Defines encoding for keys and values of the cache.

key?

Describes the content-type and encoding.
NameTypeDefaultDescription
media-typestring

value?

Describes the content-type and encoding.
NameTypeDefaultDescription
media-typestring

locking?

The locking configuration of the cache.

NameTypeDefaultDescription
isolation
NONENo locking isolation will be performed. This is only valid in local mode. In clustered mode, READ_COMMITTED will be used instead.
READ_UNCOMMITTEDUnsupported. Actually configures READ_COMMITTED
READ_COMMITTEDRead committed is an isolation level that guarantees that any data read is committed at the moment it is read. However, depending on the outcome of other transactions, successive reads may return different results
REPEATABLE_READRepeatable read is an isolation level that guarantees that any data read is committed at the moment it is read and that, within a transaction, successive reads will always return the same data.
SERIALIZABLEUnsupported. Actually configures REPEATABLE_READ
REPEATABLE_READSets the cache locking isolation level. Defaults to READ_COMMITTED. When using REPEATABLE_READ with optimistic locking, write skew checking will be enabled.
stripingbooleanfalseIf 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.
acquire-timeoutlong10000Maximum time to attempt a particular lock acquisition.
concurrency-levelint32Concurrency level for lock containers. Adjust this value according to the number of concurrent threads interacting with Infinispan.

transaction?

The cache transaction configuration.

NameTypeDefaultDescription
mode
NONECache will not enlist within transactions.
NON_XACache will enlist within transactions as a javax.transaction.Synchronization
NON_DURABLE_XACache will enlist within transactions as a javax.transaction.xa.XAResource, without recovery.
FULL_XACache will enlist within transactions as a javax.transaction.xa.XAResource, with recovery.
NONESets the cache transaction mode to one of NONE, NON_XA, NON_DURABLE_XA, FULL_XA.
stop-timeoutlong30000If 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.
locking
OPTIMISTICEnables Optimistic locking.
PESSIMISTICEnables Pessimistic locking.
OPTIMISTICThe locking mode for this cache, one of OPTIMISTIC or PESSIMISTIC.
notificationsbooleantrue Enables or disables triggering transactional notifications on cache listeners. By default is enabled.

memory?

The cache memory configuration.

object

Store keys and values as instance variables. Instances of byte[] will be wrapped to ensure equality.

NameTypeDefaultDescription
sizelong-1The size of the eviction cache as a long. Limits the cache to this normal by the amount of entries in the cache.
strategy
NONENever evict entries. This is the default.
MANUALEviction will be performed manually. Equivalent internally to NONE.
REMOVEEviction will be performed automatically to ensure that "older" entries are removed to make room for new entries.
EXCEPTIONEviction is not performed and instead when the container is full exceptions will prevent new entries from being written to the container. This cache must be transactional and now allow for commit optimizations that would prevent it from performing a two phase commit.
UNORDEREDDeprecated. Activates REMOVE policy.
FIFODeprecated. Activates REMOVE policy.
LRUDeprecated. Activates REMOVE policy.
LIRSDeprecated. Activates REMOVE policy.
The eviction strategy to use. This determines if eviction is even enabled or if it has a different variant.

binary

Store keys and values as byte[] instances. Key and value will be serialized to binary representations.

NameTypeDefaultDescription
sizelong-1The size of the eviction cache as a long. If the configured type is COUNT, this will be how many entries can be stored. If the configured type is MEMORY, this will be how much memory in bytes can be stored.
evictionFIXMEThe eviction type to use whether it is COUNT or MEMORY. COUNT will limit the cache based on the number of entries. MEMORY will limit the cache by how much memory the entries use
strategy
NONENever evict entries. This is the default.
MANUALEviction will be performed manually. Equivalent internally to NONE.
REMOVEEviction will be performed automatically to ensure that "older" entries are removed to make room for new entries.
EXCEPTIONEviction is not performed and instead when the container is full exceptions will prevent new entries from being written to the container. This cache must be transactional and now allow for commit optimizations that would prevent it from performing a two phase commit.
UNORDEREDDeprecated. Activates REMOVE policy.
FIFODeprecated. Activates REMOVE policy.
LRUDeprecated. Activates REMOVE policy.
LIRSDeprecated. Activates REMOVE policy.
The eviction strategy to use. This determines if eviction is even enabled or if it has a different variant.

off-heap

Store keys and values as byte[] off of the Java heap. Key and value will be serialized to binary representations and stored in native memory as to not take up Java heap. Temporary objects will be put onto Java heap temporarily until processing is completed.

NameTypeDefaultDescription
sizelong-1The size of the eviction cache as a long. If the configured type is COUNT, this will be how many entries can be stored. If the configured type is MEMORY, this will be how much memory in bytes can be stored.
evictionFIXMEThe eviction type to use whether it is COUNT or MEMORY. COUNT will limit the cache based on the number of entries. MEMORY will limit the cache by how much memory the entries use
strategy
NONENever evict entries. This is the default.
MANUALEviction will be performed manually. Equivalent internally to NONE.
REMOVEEviction will be performed automatically to ensure that "older" entries are removed to make room for new entries.
EXCEPTIONEviction is not performed and instead when the container is full exceptions will prevent new entries from being written to the container. This cache must be transactional and now allow for commit optimizations that would prevent it from performing a two phase commit.
UNORDEREDDeprecated. Activates REMOVE policy.
FIFODeprecated. Activates REMOVE policy.
LRUDeprecated. Activates REMOVE policy.
LIRSDeprecated. Activates REMOVE policy.
The eviction strategy to use. This determines if eviction is even enabled or if it has a different variant.
address-countint1048576How many address pointers to use. For optimal performance you will want more address pointers than you expect to have entries. This is similar to the size of an array backing a hash map. Without collisions lookups and writes will be constant time. Each pointer will take up 8 bytes of memory thus the default will use 8 MB of off heap memory.

expiration?

The cache expiration configuration.

NameTypeDefaultDescription
max-idlelong-1Maximum 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.
lifespanlong-1Maximum lifespan of a cache entry, after which the entry is expired cluster-wide, in milliseconds. -1 means the entries never expire.
intervallong60000Interval (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 interval to -1.

persistence?

The cache persistence configuration where cache stores/loaders should be configured.

NameTypeDefaultDescription
passivationbooleanfalse If true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. This gives you the ability to 'overflow' to disk, similar to swapping in an operating system. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Defaults to false.
connection-attemptsint10 The maximum number of unsuccessful attempts to start each of the configured CacheWriter/CacheLoader before an exception is thrown and the cache fails to start.
connection-intervalint50 The time, in milliseconds, to wait between subsequent connection attempts on startup. A negative or zero value means no wait between connection attempts.
availability-intervalint1000 The time, in milliseconds, between availability checks to determine if the PersistenceManager is available. In other words, this interval sets how often stores/loaders are polled via their `org.infinispan.persistence.spi.CacheWriter#isAvailable` or `org.infinispan.persistence.spi.CacheLoader#isAvailable` implementation. If a single store/loader is not available, an exception is thrown during cache operations.

cluster-loader

Defines a cluster cache loader.

NameTypeDefaultDescription
remote-timeoutlongThe timeout when performing remote calls.
NameTypeDefaultDescription
namestringUniquely identifies this loader.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.

property*

A cache loader property with name and value.

store

Defines a custom cache store.

NameTypeDefaultDescription
classstringThe class name of the cache store implementation.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

loader

Defines a custom cache loader.

NameTypeDefaultDescription
classstringThe class name of the cache loader implementation.
NameTypeDefaultDescription
namestringUniquely identifies this loader.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.

property*

A cache loader property with name and value.

file-store

Defines a file-based cache store.

NameTypeDefaultDescription
max-entriesint Sets the maximum number of in-memory mappings between keys and their position in the store. Normally this is unlimited, but to avoid excess memory usage, an upper bound can be configured. If this limit is exceeded, entries are removed permanently using the LRU algorithm both from the in-memory index and the underlying file based cache store. Warning: setting this value may cause data loss.
relative-tostringjboss.server.data.dirThe base directory in which to store the cache state.
pathstring The path within "relative-to" in which to store the cache state. If undefined, the path defaults to the cache container name.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

string-keyed-jdbc-store

Defines a database cache store accessed via JDBC using string-based keys.

string-keyed-table?

Defines the table used to store cache entries.

NameTypeDefaultDescription
prefixstringispn_entryDefines the prefix prepended to the cache name used when composing the name of the cache entry table.
NameTypeDefaultDescription
fetch-sizeint100The fetch size used when querying from this table. Used to avoid heap memory exhaustion when query is large.
batch-sizeint100The statement batch size used when modifying this table.
create-on-startbooleantrueDetermines whether database tables should be created by the store on startup.
drop-on-exitbooleanfalseDetermines whether database tables should be dropped by the store on shutdown.

id-column?

Defines the column in which to store the cache key or bucket id.

NameTypeDefaultDescription
namestringidThe name of the column used to store the cache key or bucket id.
typestringVARCHARThe type of the column used to store the cache key or bucket id.

data-column?

Defines the column in which to store the cache entry or bucket.

NameTypeDefaultDescription
namestringdatumThe name of the column used to store the cache entry or bucket.
typestringBINARYThe type of the column used to store the cache entry or bucket.

timestamp-column?

Defines the column in which to store the timestamp of the cache entry or bucket.

NameTypeDefaultDescription
namestringversionThe name of the column used to store the cache entry or bucket timestamp.
typestringBIGINTThe type of the column used to store the cache entry or bucket timestamp.
NameTypeDefaultDescription
datasourcestringDefines the jndi name of the datasource.
dialect
ACCESS
DB2
DB2_390
DERBY
FIREBIRD
H2
HSQL
INFORMIX
INTERBASE
MARIA_DB
MYSQL
ORACLE
POSTGRES
SQL_SERVER
SQLITE
SYBASE
Defines the JDBC dialect.
db-major-versionnonNegativeIntegerDefines the major version of the database.
db-minor-versionnonNegativeIntegerDefines the minor version of the database.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

rocksdb-store

Defines a RocksDB cache store.

NameTypeDefaultDescription
relative-tostringjboss.server.data.dirThe base directory in which to store the cache state.
pathstring The path within "relative-to" in which to store the cache state. If undefined, the path defaults to the cache container name.
block-sizeintegerCache store block size.
cache-sizelongCache size for the cache store.
clear-thresholdintegerCache store cache clear threshold.

expiration?

Defines the expiration settings for the RocksDB cache store.

NameTypeDefaultDescription
pathstringThe base directory in which to store expired cache state.
queue-sizeinteger10000Expired entry queue size.

compression?

Defines the data compression to use in the RocksDB store.

NameTypeDefaultDescription
type
NONENo compression.
SNAPPYSnappy compression.
ZLIBZLib compression.
BZLIB2BZLib 2 compression.
LZ4LZ4 compression.
LZ4HCLZ4HC compression.
NONEThe type of compression to be used by RocksDB store.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

remote-store

Defines a remote cache store accessed via HotRod.

NameTypeDefaultDescription
cachestringThe name of the remote cache. If undefined, the default cache will be used.
socket-timeoutlong60000 Enable/disable SO_TIMEOUT on socket connections to remote Hot Rod servers with the specified timeout, in milliseconds. A timeout of zero is interpreted as an infinite timeout.
tcp-no-delaybooleantrue Enable/disable TCP_NODELAY on socket connections to remote Hot Rod servers.
hotrod-wrappingbooleanfalse Ensures that, when entries are retrieved from the remote store, they will be wrapped in a format suitable for serving via HotRod. This flag must be enabled when performing a rolling upgrade
raw-valuesbooleanfalse Enables the storage of data on the remote server in "raw" format as opposed to wrapping the entries in InternalCacheEntry. This will make the remote cache interoperable between direct RemoteCacheManager clients and RemoteCacheStore stores
protocol-versionstring This property defines the protocol version that this client should use.

remote-server+

NameTypeDefaultDescription
outbound-socket-bindingstringAn outbound socket binding for a remote server.

authentication?

plain

Uses PLAIN authentication with the supplied credentials.
NameTypeDefaultDescription
usernamestring
passwordstring

digest

Uses DIGEST-MD5 authentication with the supplied credentials.
NameTypeDefaultDescription
usernamestring
passwordstring
realmstring
server-namestring

external

Uses EXTERNAL authentication, with credentials supplied by the encrypted transport client certificate.

encryption?

NameTypeDefaultDescription
security-realmFIXMEA security realm which supplies a truststore for identifying the remote servers. If client authentication is required, then the security realm must also provide an identity keystore.
sni-hostnameFIXMEAn optional SNI hostname for identifying the remote server.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

rest-store

Defines a remote cache store accessed via REST.

NameTypeDefaultDescription
append-cache-name-to-pathbooleanfalseWhether to append the name of the cache to the path.
pathstring/rest/___defaultcacheThe path portion of the URI of the remote REST endpoint.
max-content-lengthint10485760The maximum allowed content length of a POST/PUT request.

remote-server+

NameTypeDefaultDescription
outbound-socket-bindingstringAn outbound socket binding for a remote server.

connection-pool+

NameTypeDefaultDescription
buffer-sizeint8192The size of the socket buffer.
connection-timeoutint60000A connection timeout for remote cache communication.
max-connections-per-hostint4The maximum number of connections per host.
max-total-connectionsint20The maximum number of total connections.
socket-timeoutint60000A socket timeout for remote cache communication.
tcp-no-delaybooleantrueEnable/disable TCP_NODELAY on socket connections to remote Hot Rod servers.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

soft-index-file-store

Defines a soft-index file store.

NameTypeDefaultDescription
open-files-limitint1000 Max number of data files opened for reading (current log file, compaction output and index segments are not included here).
compaction-thresholddouble0.5 If amount of unused space in some data file gets above this threshold, the file is compacted - entries from that file are copied to a new file and the old file is deleted.

data?

Configure where and how should be the entries stored - this is the persistent location.
NameTypeDefaultDescription
pathstringjboss.server.data.dir A location on disk where the store writes entries. Files are written sequentially, reads are random.
max-file-sizeint16777216 Max size of single file with entries, in bytes.
sync-writesbooleanfalse If true, the write is confirmed only after the entry is fsynced on disk.

index?

Configure where and how should be the index stored.
NameTypeDefaultDescription
pathstringjboss.server.data.dir A location where the store keeps index - this does not have to be persistent across restarts, and SSD storage is recommended (the index is accessed randomly).
segmentsint3 Number of index segment files. Increasing this value improves throughput but requires more threads to be spawned.
max-queue-lengthint1000 Max number of entry writes that are waiting to be written to the index, per index segment.
max-node-sizeint4096 Max size of node (continuous block on filesystem used in index implementation), in bytes.
min-node-sizeint0 If the size of node (continuous block on filesystem used in index implementation) drops below this threshold, the node will try to balance its size with some neighbour node, possibly causing join of multiple nodes.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

cluster-loader

Defines a cluster cache loader. Deprecated: Please define loaders under the persistence element.

NameTypeDefaultDescription
remote-timeoutlongThe timeout when performing remote calls.
NameTypeDefaultDescription
namestringUniquely identifies this loader.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.

property*

A cache loader property with name and value.

store

Defines a custom cache store. Deprecated: Please define stores under the persistence element.

NameTypeDefaultDescription
classstringThe class name of the cache store implementation.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

loader

Defines a custom cache loader. Deprecated: Please define loaders under the persistence element.

NameTypeDefaultDescription
classstringThe class name of the cache loader implementation.
NameTypeDefaultDescription
namestringUniquely identifies this loader.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.

property*

A cache loader property with name and value.

file-store

Defines a file-based cache store. Deprecated: Please define stores under the persistence element.

NameTypeDefaultDescription
max-entriesint Sets the maximum number of in-memory mappings between keys and their position in the store. Normally this is unlimited, but to avoid excess memory usage, an upper bound can be configured. If this limit is exceeded, entries are removed permanently using the LRU algorithm both from the in-memory index and the underlying file based cache store. Warning: setting this value may cause data loss.
relative-tostringjboss.server.data.dirThe base directory in which to store the cache state.
pathstring The path within "relative-to" in which to store the cache state. If undefined, the path defaults to the cache container name.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

string-keyed-jdbc-store

Defines a database cache store accessed via JDBC using string-based keys. Deprecated: Please define stores under the persistence element.

string-keyed-table?

Defines the table used to store cache entries.

NameTypeDefaultDescription
prefixstringispn_entryDefines the prefix prepended to the cache name used when composing the name of the cache entry table.
NameTypeDefaultDescription
fetch-sizeint100The fetch size used when querying from this table. Used to avoid heap memory exhaustion when query is large.
batch-sizeint100The statement batch size used when modifying this table.
create-on-startbooleantrueDetermines whether database tables should be created by the store on startup.
drop-on-exitbooleanfalseDetermines whether database tables should be dropped by the store on shutdown.

id-column?

Defines the column in which to store the cache key or bucket id.

NameTypeDefaultDescription
namestringidThe name of the column used to store the cache key or bucket id.
typestringVARCHARThe type of the column used to store the cache key or bucket id.

data-column?

Defines the column in which to store the cache entry or bucket.

NameTypeDefaultDescription
namestringdatumThe name of the column used to store the cache entry or bucket.
typestringBINARYThe type of the column used to store the cache entry or bucket.

timestamp-column?

Defines the column in which to store the timestamp of the cache entry or bucket.

NameTypeDefaultDescription
namestringversionThe name of the column used to store the cache entry or bucket timestamp.
typestringBIGINTThe type of the column used to store the cache entry or bucket timestamp.
NameTypeDefaultDescription
datasourcestringDefines the jndi name of the datasource.
dialect
ACCESS
DB2
DB2_390
DERBY
FIREBIRD
H2
HSQL
INFORMIX
INTERBASE
MARIA_DB
MYSQL
ORACLE
POSTGRES
SQL_SERVER
SQLITE
SYBASE
Defines the JDBC dialect.
db-major-versionnonNegativeIntegerDefines the major version of the database.
db-minor-versionnonNegativeIntegerDefines the minor version of the database.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

rocksdb-store

Defines a RocksDB cache store. Deprecated: Please define stores under the persistence element.

NameTypeDefaultDescription
relative-tostringjboss.server.data.dirThe base directory in which to store the cache state.
pathstring The path within "relative-to" in which to store the cache state. If undefined, the path defaults to the cache container name.
block-sizeintegerCache store block size.
cache-sizelongCache size for the cache store.
clear-thresholdintegerCache store cache clear threshold.

expiration?

Defines the expiration settings for the RocksDB cache store.

NameTypeDefaultDescription
pathstringThe base directory in which to store expired cache state.
queue-sizeinteger10000Expired entry queue size.

compression?

Defines the data compression to use in the RocksDB store.

NameTypeDefaultDescription
type
NONENo compression.
SNAPPYSnappy compression.
ZLIBZLib compression.
BZLIB2BZLib 2 compression.
LZ4LZ4 compression.
LZ4HCLZ4HC compression.
NONEThe type of compression to be used by RocksDB store.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

remote-store

Defines a remote cache store accessed via HotRod. Deprecated: Please define stores under the persistence element.

NameTypeDefaultDescription
cachestringThe name of the remote cache. If undefined, the default cache will be used.
socket-timeoutlong60000 Enable/disable SO_TIMEOUT on socket connections to remote Hot Rod servers with the specified timeout, in milliseconds. A timeout of zero is interpreted as an infinite timeout.
tcp-no-delaybooleantrue Enable/disable TCP_NODELAY on socket connections to remote Hot Rod servers.
hotrod-wrappingbooleanfalse Ensures that, when entries are retrieved from the remote store, they will be wrapped in a format suitable for serving via HotRod. This flag must be enabled when performing a rolling upgrade
raw-valuesbooleanfalse Enables the storage of data on the remote server in "raw" format as opposed to wrapping the entries in InternalCacheEntry. This will make the remote cache interoperable between direct RemoteCacheManager clients and RemoteCacheStore stores
protocol-versionstring This property defines the protocol version that this client should use.

remote-server+

NameTypeDefaultDescription
outbound-socket-bindingstringAn outbound socket binding for a remote server.

authentication?

plain

Uses PLAIN authentication with the supplied credentials.
NameTypeDefaultDescription
usernamestring
passwordstring

digest

Uses DIGEST-MD5 authentication with the supplied credentials.
NameTypeDefaultDescription
usernamestring
passwordstring
realmstring
server-namestring

external

Uses EXTERNAL authentication, with credentials supplied by the encrypted transport client certificate.

encryption?

NameTypeDefaultDescription
security-realmFIXMEA security realm which supplies a truststore for identifying the remote servers. If client authentication is required, then the security realm must also provide an identity keystore.
sni-hostnameFIXMEAn optional SNI hostname for identifying the remote server.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

rest-store

Defines a remote cache store accessed via REST. Deprecated: Please define stores under the persistence element.

NameTypeDefaultDescription
append-cache-name-to-pathbooleanfalseWhether to append the name of the cache to the path.
pathstring/rest/___defaultcacheThe path portion of the URI of the remote REST endpoint.
max-content-lengthint10485760The maximum allowed content length of a POST/PUT request.

remote-server+

NameTypeDefaultDescription
outbound-socket-bindingstringAn outbound socket binding for a remote server.

connection-pool+

NameTypeDefaultDescription
buffer-sizeint8192The size of the socket buffer.
connection-timeoutint60000A connection timeout for remote cache communication.
max-connections-per-hostint4The maximum number of connections per host.
max-total-connectionsint20The maximum number of total connections.
socket-timeoutint60000A socket timeout for remote cache communication.
tcp-no-delaybooleantrueEnable/disable TCP_NODELAY on socket connections to remote Hot Rod servers.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

indexing?

Defines indexing options for cache

NameTypeDefaultDescription
index
NONEDo not index data. This is the default.
LOCALOnly index changes made locally, ignoring remote changes. This is useful if indexes are shared across a cluster to prevent redundant indexing of updates.
ALLIndex all data
PRIMARY_OWNEROnly index changes on the primary owner, regardless of it's local or remote.
NONEThe indexing mode of the cache. Defaults to NONE.
auto-configbooleanfalseWhether or not to apply automatic index configuration based on cache type

key-transformers?

Defines the Transformers used to stringify keys for indexing with Lucene

key-transformer*

Defines the Transformer to use for the specified key class
NameTypeDefaultDescription
keystring
transformerstring

indexed-entities?

Defines the indexed entity classes

indexed-entity*

Indexed entity class name

property*

Property to pass on to the indexing system

security?

Configures cache-level security.

authorization?

Configures authorization for this cache.

NameTypeDefaultDescription
enabledbooleantrue Enables authorization checks for this cache. Defaults to true if the authorization element is present.
roles Sets the valid roles required to access this cache.

replicated-cache-configuration

Defines a REPL_* mode cache configuration.

state-transfer?

The state transfer configuration for distribution and replicated caches.

NameTypeDefaultDescription
enabledbooleantrueIf enabled, 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.
timeoutlong240000The maximum amount of time (ms) to wait for state from neighboring caches, before throwing an exception and aborting startup.
chunk-sizeinteger512The number of cache entries to batch in each transfer.
await-initial-transferbooleantrueIf enabled, this will cause the cache to wait for initial state transfer to complete before responding to requests.

partition-handling?

The partition handling configuration for distribution and replicated caches.

NameTypeDefaultDescription
enabledbooleanDeprecated, use type instead. If enabled, the cache will enter degraded mode when it loses too many nodes.
when-split
DENY_READ_WRITESIf the partition does not have all owners for a given segment, both reads and writes are denied for all keys in that segment.
ALLOW_READSAllows reads for a given key if it exists in this partition, but only allows writes if this partition contains all owners of a segment.
ALLOW_READ_WRITESAllow entries on each partition to diverge, with conflicts resolved during merge.
ALLOW_READ_WRITESThe type of actions that are possible when a split brain scenario is encountered.
merge-policyNONEThe entry merge policy which should be applied on partition merges.
NameTypeDefaultDescription
mode
ASYNCEnables asynchronous mode.
SYNCEnables synchronous mode.
SYNCSets the clustered cache mode, ASYNC for asynchronous operation, or SYNC for synchronous operation.
remote-timeoutlong15000In SYNC mode, 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.
NameTypeDefaultDescription
namestringUniquely identifies this cache within its cache container.
configurationstringThe name of the cache configuration which this configuration inherits from.
batchingbooleanfalseEnables invocation batching for this cache. Defaults to false.
jndi-namestring The jndi name to which to bind this cache. If undefined, the cache will be bound to: java:jboss/infinispan/cache/container-name/cache-name
modulestring Defines the module whose class loader should be used when building this cache, if different from the enclosing cache container. Deprecated: This attribute is currently ignored and usages will cause a warning to be logged. It will be removed in next major version.
statisticsbooleanfalseDetermines whether or not the cache should collect statistics. Keep disabled for optimal performance.
statistics-availablebooleantrueIf set to false, statistics gathering cannot be enabled during runtime. Keep disabled for optimal performance.

backups?

The cross-site backup configuration.

backup+

Configures a specific site where this cache backups data.

NameTypeDefaultDescription
sitestringName of the remote site where this cache backups data.
strategy
ASYNCEnables asynchronous mode.
SYNCEnables synchronous mode.
ASYNCThe strategy used for backing up data: "SYNC" or "ASYNC". Defaults to "ASYNC"
failure-policy
IGNOREIgnore backup failures.
WARNWarn of backup failures.
FAILFail local operations when a backup failure occurs.
WARNDecides what the system would do in case of failure during backup. Defaults to "FAIL"
timeoutlong15000The timeout(millis) to be used when backing up data remotely. Defaults to 10 secs.
enabledbooleantrueIf 'false' then no data is backed up to this site. Defaults to 'true'.

take-offline?

Determines whether this backup is taken offline (ignored) after a certain number of tries.

NameTypeDefaultDescription
after-failuresint0The number of failed request operations after which this site should be taken offline. Defaults to 0 (never). A negative value would mean that the site will be taken offline after 'min-wait'.
min-waitlong0The minimal number of millis to wait before taking this site offline, even in the case 'after-failures' is reached. If smaller or equal to 0, then only 'after-failures' is considered.

state-transfer?

Configures the properties needed to transfer the state for this site.

NameTypeDefaultDescription
chunk-sizeint512 If > 0, the state will be transferred in batches of {@code chunkSize} cache entries. If <= 0, the state will be transferred in all at once. Not recommended. Defaults to 512.
timeoutlong1200000 The time (in milliseconds) to wait for the backup site acknowledge the state chunk received and applied. Default value is 20 min.
max-retriesint30 The maximum number of retries when a push state command fails. A value <= 0 (zero) mean that the command will not retry. Default value is 30.
wait-timelong2000 The waiting time (in milliseconds) between each retry. The value should be > 0 (zero). Default value is 2 seconds.

backup-for?

Configures this cache as a backup for a remote cache.

NameTypeDefaultDescription
remote-cachestring The name of the remote cache that backups data here.
remote-sitestring The name of the remote site containing the cache that backups data here.

encoding?

The cache encoding configuration.

Defines encoding for keys and values of the cache.

key?

Describes the content-type and encoding.
NameTypeDefaultDescription
media-typestring

value?

Describes the content-type and encoding.
NameTypeDefaultDescription
media-typestring

locking?

The locking configuration of the cache.

NameTypeDefaultDescription
isolation
NONENo locking isolation will be performed. This is only valid in local mode. In clustered mode, READ_COMMITTED will be used instead.
READ_UNCOMMITTEDUnsupported. Actually configures READ_COMMITTED
READ_COMMITTEDRead committed is an isolation level that guarantees that any data read is committed at the moment it is read. However, depending on the outcome of other transactions, successive reads may return different results
REPEATABLE_READRepeatable read is an isolation level that guarantees that any data read is committed at the moment it is read and that, within a transaction, successive reads will always return the same data.
SERIALIZABLEUnsupported. Actually configures REPEATABLE_READ
REPEATABLE_READSets the cache locking isolation level. Defaults to READ_COMMITTED. When using REPEATABLE_READ with optimistic locking, write skew checking will be enabled.
stripingbooleanfalseIf 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.
acquire-timeoutlong10000Maximum time to attempt a particular lock acquisition.
concurrency-levelint32Concurrency level for lock containers. Adjust this value according to the number of concurrent threads interacting with Infinispan.

transaction?

The cache transaction configuration.

NameTypeDefaultDescription
mode
NONECache will not enlist within transactions.
NON_XACache will enlist within transactions as a javax.transaction.Synchronization
NON_DURABLE_XACache will enlist within transactions as a javax.transaction.xa.XAResource, without recovery.
FULL_XACache will enlist within transactions as a javax.transaction.xa.XAResource, with recovery.
NONESets the cache transaction mode to one of NONE, NON_XA, NON_DURABLE_XA, FULL_XA.
stop-timeoutlong30000If 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.
locking
OPTIMISTICEnables Optimistic locking.
PESSIMISTICEnables Pessimistic locking.
OPTIMISTICThe locking mode for this cache, one of OPTIMISTIC or PESSIMISTIC.
notificationsbooleantrue Enables or disables triggering transactional notifications on cache listeners. By default is enabled.

memory?

The cache memory configuration.

object

Store keys and values as instance variables. Instances of byte[] will be wrapped to ensure equality.

NameTypeDefaultDescription
sizelong-1The size of the eviction cache as a long. Limits the cache to this normal by the amount of entries in the cache.
strategy
NONENever evict entries. This is the default.
MANUALEviction will be performed manually. Equivalent internally to NONE.
REMOVEEviction will be performed automatically to ensure that "older" entries are removed to make room for new entries.
EXCEPTIONEviction is not performed and instead when the container is full exceptions will prevent new entries from being written to the container. This cache must be transactional and now allow for commit optimizations that would prevent it from performing a two phase commit.
UNORDEREDDeprecated. Activates REMOVE policy.
FIFODeprecated. Activates REMOVE policy.
LRUDeprecated. Activates REMOVE policy.
LIRSDeprecated. Activates REMOVE policy.
The eviction strategy to use. This determines if eviction is even enabled or if it has a different variant.

binary

Store keys and values as byte[] instances. Key and value will be serialized to binary representations.

NameTypeDefaultDescription
sizelong-1The size of the eviction cache as a long. If the configured type is COUNT, this will be how many entries can be stored. If the configured type is MEMORY, this will be how much memory in bytes can be stored.
evictionFIXMEThe eviction type to use whether it is COUNT or MEMORY. COUNT will limit the cache based on the number of entries. MEMORY will limit the cache by how much memory the entries use
strategy
NONENever evict entries. This is the default.
MANUALEviction will be performed manually. Equivalent internally to NONE.
REMOVEEviction will be performed automatically to ensure that "older" entries are removed to make room for new entries.
EXCEPTIONEviction is not performed and instead when the container is full exceptions will prevent new entries from being written to the container. This cache must be transactional and now allow for commit optimizations that would prevent it from performing a two phase commit.
UNORDEREDDeprecated. Activates REMOVE policy.
FIFODeprecated. Activates REMOVE policy.
LRUDeprecated. Activates REMOVE policy.
LIRSDeprecated. Activates REMOVE policy.
The eviction strategy to use. This determines if eviction is even enabled or if it has a different variant.

off-heap

Store keys and values as byte[] off of the Java heap. Key and value will be serialized to binary representations and stored in native memory as to not take up Java heap. Temporary objects will be put onto Java heap temporarily until processing is completed.

NameTypeDefaultDescription
sizelong-1The size of the eviction cache as a long. If the configured type is COUNT, this will be how many entries can be stored. If the configured type is MEMORY, this will be how much memory in bytes can be stored.
evictionFIXMEThe eviction type to use whether it is COUNT or MEMORY. COUNT will limit the cache based on the number of entries. MEMORY will limit the cache by how much memory the entries use
strategy
NONENever evict entries. This is the default.
MANUALEviction will be performed manually. Equivalent internally to NONE.
REMOVEEviction will be performed automatically to ensure that "older" entries are removed to make room for new entries.
EXCEPTIONEviction is not performed and instead when the container is full exceptions will prevent new entries from being written to the container. This cache must be transactional and now allow for commit optimizations that would prevent it from performing a two phase commit.
UNORDEREDDeprecated. Activates REMOVE policy.
FIFODeprecated. Activates REMOVE policy.
LRUDeprecated. Activates REMOVE policy.
LIRSDeprecated. Activates REMOVE policy.
The eviction strategy to use. This determines if eviction is even enabled or if it has a different variant.
address-countint1048576How many address pointers to use. For optimal performance you will want more address pointers than you expect to have entries. This is similar to the size of an array backing a hash map. Without collisions lookups and writes will be constant time. Each pointer will take up 8 bytes of memory thus the default will use 8 MB of off heap memory.

expiration?

The cache expiration configuration.

NameTypeDefaultDescription
max-idlelong-1Maximum 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.
lifespanlong-1Maximum lifespan of a cache entry, after which the entry is expired cluster-wide, in milliseconds. -1 means the entries never expire.
intervallong60000Interval (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 interval to -1.

persistence?

The cache persistence configuration where cache stores/loaders should be configured.

NameTypeDefaultDescription
passivationbooleanfalse If true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. This gives you the ability to 'overflow' to disk, similar to swapping in an operating system. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Defaults to false.
connection-attemptsint10 The maximum number of unsuccessful attempts to start each of the configured CacheWriter/CacheLoader before an exception is thrown and the cache fails to start.
connection-intervalint50 The time, in milliseconds, to wait between subsequent connection attempts on startup. A negative or zero value means no wait between connection attempts.
availability-intervalint1000 The time, in milliseconds, between availability checks to determine if the PersistenceManager is available. In other words, this interval sets how often stores/loaders are polled via their `org.infinispan.persistence.spi.CacheWriter#isAvailable` or `org.infinispan.persistence.spi.CacheLoader#isAvailable` implementation. If a single store/loader is not available, an exception is thrown during cache operations.

cluster-loader

Defines a cluster cache loader.

NameTypeDefaultDescription
remote-timeoutlongThe timeout when performing remote calls.
NameTypeDefaultDescription
namestringUniquely identifies this loader.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.

property*

A cache loader property with name and value.

store

Defines a custom cache store.

NameTypeDefaultDescription
classstringThe class name of the cache store implementation.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

loader

Defines a custom cache loader.

NameTypeDefaultDescription
classstringThe class name of the cache loader implementation.
NameTypeDefaultDescription
namestringUniquely identifies this loader.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.

property*

A cache loader property with name and value.

file-store

Defines a file-based cache store.

NameTypeDefaultDescription
max-entriesint Sets the maximum number of in-memory mappings between keys and their position in the store. Normally this is unlimited, but to avoid excess memory usage, an upper bound can be configured. If this limit is exceeded, entries are removed permanently using the LRU algorithm both from the in-memory index and the underlying file based cache store. Warning: setting this value may cause data loss.
relative-tostringjboss.server.data.dirThe base directory in which to store the cache state.
pathstring The path within "relative-to" in which to store the cache state. If undefined, the path defaults to the cache container name.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

string-keyed-jdbc-store

Defines a database cache store accessed via JDBC using string-based keys.

string-keyed-table?

Defines the table used to store cache entries.

NameTypeDefaultDescription
prefixstringispn_entryDefines the prefix prepended to the cache name used when composing the name of the cache entry table.
NameTypeDefaultDescription
fetch-sizeint100The fetch size used when querying from this table. Used to avoid heap memory exhaustion when query is large.
batch-sizeint100The statement batch size used when modifying this table.
create-on-startbooleantrueDetermines whether database tables should be created by the store on startup.
drop-on-exitbooleanfalseDetermines whether database tables should be dropped by the store on shutdown.

id-column?

Defines the column in which to store the cache key or bucket id.

NameTypeDefaultDescription
namestringidThe name of the column used to store the cache key or bucket id.
typestringVARCHARThe type of the column used to store the cache key or bucket id.

data-column?

Defines the column in which to store the cache entry or bucket.

NameTypeDefaultDescription
namestringdatumThe name of the column used to store the cache entry or bucket.
typestringBINARYThe type of the column used to store the cache entry or bucket.

timestamp-column?

Defines the column in which to store the timestamp of the cache entry or bucket.

NameTypeDefaultDescription
namestringversionThe name of the column used to store the cache entry or bucket timestamp.
typestringBIGINTThe type of the column used to store the cache entry or bucket timestamp.
NameTypeDefaultDescription
datasourcestringDefines the jndi name of the datasource.
dialect
ACCESS
DB2
DB2_390
DERBY
FIREBIRD
H2
HSQL
INFORMIX
INTERBASE
MARIA_DB
MYSQL
ORACLE
POSTGRES
SQL_SERVER
SQLITE
SYBASE
Defines the JDBC dialect.
db-major-versionnonNegativeIntegerDefines the major version of the database.
db-minor-versionnonNegativeIntegerDefines the minor version of the database.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

rocksdb-store

Defines a RocksDB cache store.

NameTypeDefaultDescription
relative-tostringjboss.server.data.dirThe base directory in which to store the cache state.
pathstring The path within "relative-to" in which to store the cache state. If undefined, the path defaults to the cache container name.
block-sizeintegerCache store block size.
cache-sizelongCache size for the cache store.
clear-thresholdintegerCache store cache clear threshold.

expiration?

Defines the expiration settings for the RocksDB cache store.

NameTypeDefaultDescription
pathstringThe base directory in which to store expired cache state.
queue-sizeinteger10000Expired entry queue size.

compression?

Defines the data compression to use in the RocksDB store.

NameTypeDefaultDescription
type
NONENo compression.
SNAPPYSnappy compression.
ZLIBZLib compression.
BZLIB2BZLib 2 compression.
LZ4LZ4 compression.
LZ4HCLZ4HC compression.
NONEThe type of compression to be used by RocksDB store.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

remote-store

Defines a remote cache store accessed via HotRod.

NameTypeDefaultDescription
cachestringThe name of the remote cache. If undefined, the default cache will be used.
socket-timeoutlong60000 Enable/disable SO_TIMEOUT on socket connections to remote Hot Rod servers with the specified timeout, in milliseconds. A timeout of zero is interpreted as an infinite timeout.
tcp-no-delaybooleantrue Enable/disable TCP_NODELAY on socket connections to remote Hot Rod servers.
hotrod-wrappingbooleanfalse Ensures that, when entries are retrieved from the remote store, they will be wrapped in a format suitable for serving via HotRod. This flag must be enabled when performing a rolling upgrade
raw-valuesbooleanfalse Enables the storage of data on the remote server in "raw" format as opposed to wrapping the entries in InternalCacheEntry. This will make the remote cache interoperable between direct RemoteCacheManager clients and RemoteCacheStore stores
protocol-versionstring This property defines the protocol version that this client should use.

remote-server+

NameTypeDefaultDescription
outbound-socket-bindingstringAn outbound socket binding for a remote server.

authentication?

plain

Uses PLAIN authentication with the supplied credentials.
NameTypeDefaultDescription
usernamestring
passwordstring

digest

Uses DIGEST-MD5 authentication with the supplied credentials.
NameTypeDefaultDescription
usernamestring
passwordstring
realmstring
server-namestring

external

Uses EXTERNAL authentication, with credentials supplied by the encrypted transport client certificate.

encryption?

NameTypeDefaultDescription
security-realmFIXMEA security realm which supplies a truststore for identifying the remote servers. If client authentication is required, then the security realm must also provide an identity keystore.
sni-hostnameFIXMEAn optional SNI hostname for identifying the remote server.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

rest-store

Defines a remote cache store accessed via REST.

NameTypeDefaultDescription
append-cache-name-to-pathbooleanfalseWhether to append the name of the cache to the path.
pathstring/rest/___defaultcacheThe path portion of the URI of the remote REST endpoint.
max-content-lengthint10485760The maximum allowed content length of a POST/PUT request.

remote-server+

NameTypeDefaultDescription
outbound-socket-bindingstringAn outbound socket binding for a remote server.

connection-pool+

NameTypeDefaultDescription
buffer-sizeint8192The size of the socket buffer.
connection-timeoutint60000A connection timeout for remote cache communication.
max-connections-per-hostint4The maximum number of connections per host.
max-total-connectionsint20The maximum number of total connections.
socket-timeoutint60000A socket timeout for remote cache communication.
tcp-no-delaybooleantrueEnable/disable TCP_NODELAY on socket connections to remote Hot Rod servers.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

soft-index-file-store

Defines a soft-index file store.

NameTypeDefaultDescription
open-files-limitint1000 Max number of data files opened for reading (current log file, compaction output and index segments are not included here).
compaction-thresholddouble0.5 If amount of unused space in some data file gets above this threshold, the file is compacted - entries from that file are copied to a new file and the old file is deleted.

data?

Configure where and how should be the entries stored - this is the persistent location.
NameTypeDefaultDescription
pathstringjboss.server.data.dir A location on disk where the store writes entries. Files are written sequentially, reads are random.
max-file-sizeint16777216 Max size of single file with entries, in bytes.
sync-writesbooleanfalse If true, the write is confirmed only after the entry is fsynced on disk.

index?

Configure where and how should be the index stored.
NameTypeDefaultDescription
pathstringjboss.server.data.dir A location where the store keeps index - this does not have to be persistent across restarts, and SSD storage is recommended (the index is accessed randomly).
segmentsint3 Number of index segment files. Increasing this value improves throughput but requires more threads to be spawned.
max-queue-lengthint1000 Max number of entry writes that are waiting to be written to the index, per index segment.
max-node-sizeint4096 Max size of node (continuous block on filesystem used in index implementation), in bytes.
min-node-sizeint0 If the size of node (continuous block on filesystem used in index implementation) drops below this threshold, the node will try to balance its size with some neighbour node, possibly causing join of multiple nodes.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

cluster-loader

Defines a cluster cache loader. Deprecated: Please define loaders under the persistence element.

NameTypeDefaultDescription
remote-timeoutlongThe timeout when performing remote calls.
NameTypeDefaultDescription
namestringUniquely identifies this loader.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.

property*

A cache loader property with name and value.

store

Defines a custom cache store. Deprecated: Please define stores under the persistence element.

NameTypeDefaultDescription
classstringThe class name of the cache store implementation.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

loader

Defines a custom cache loader. Deprecated: Please define loaders under the persistence element.

NameTypeDefaultDescription
classstringThe class name of the cache loader implementation.
NameTypeDefaultDescription
namestringUniquely identifies this loader.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.

property*

A cache loader property with name and value.

file-store

Defines a file-based cache store. Deprecated: Please define stores under the persistence element.

NameTypeDefaultDescription
max-entriesint Sets the maximum number of in-memory mappings between keys and their position in the store. Normally this is unlimited, but to avoid excess memory usage, an upper bound can be configured. If this limit is exceeded, entries are removed permanently using the LRU algorithm both from the in-memory index and the underlying file based cache store. Warning: setting this value may cause data loss.
relative-tostringjboss.server.data.dirThe base directory in which to store the cache state.
pathstring The path within "relative-to" in which to store the cache state. If undefined, the path defaults to the cache container name.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

string-keyed-jdbc-store

Defines a database cache store accessed via JDBC using string-based keys. Deprecated: Please define stores under the persistence element.

string-keyed-table?

Defines the table used to store cache entries.

NameTypeDefaultDescription
prefixstringispn_entryDefines the prefix prepended to the cache name used when composing the name of the cache entry table.
NameTypeDefaultDescription
fetch-sizeint100The fetch size used when querying from this table. Used to avoid heap memory exhaustion when query is large.
batch-sizeint100The statement batch size used when modifying this table.
create-on-startbooleantrueDetermines whether database tables should be created by the store on startup.
drop-on-exitbooleanfalseDetermines whether database tables should be dropped by the store on shutdown.

id-column?

Defines the column in which to store the cache key or bucket id.

NameTypeDefaultDescription
namestringidThe name of the column used to store the cache key or bucket id.
typestringVARCHARThe type of the column used to store the cache key or bucket id.

data-column?

Defines the column in which to store the cache entry or bucket.

NameTypeDefaultDescription
namestringdatumThe name of the column used to store the cache entry or bucket.
typestringBINARYThe type of the column used to store the cache entry or bucket.

timestamp-column?

Defines the column in which to store the timestamp of the cache entry or bucket.

NameTypeDefaultDescription
namestringversionThe name of the column used to store the cache entry or bucket timestamp.
typestringBIGINTThe type of the column used to store the cache entry or bucket timestamp.
NameTypeDefaultDescription
datasourcestringDefines the jndi name of the datasource.
dialect
ACCESS
DB2
DB2_390
DERBY
FIREBIRD
H2
HSQL
INFORMIX
INTERBASE
MARIA_DB
MYSQL
ORACLE
POSTGRES
SQL_SERVER
SQLITE
SYBASE
Defines the JDBC dialect.
db-major-versionnonNegativeIntegerDefines the major version of the database.
db-minor-versionnonNegativeIntegerDefines the minor version of the database.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

rocksdb-store

Defines a RocksDB cache store. Deprecated: Please define stores under the persistence element.

NameTypeDefaultDescription
relative-tostringjboss.server.data.dirThe base directory in which to store the cache state.
pathstring The path within "relative-to" in which to store the cache state. If undefined, the path defaults to the cache container name.
block-sizeintegerCache store block size.
cache-sizelongCache size for the cache store.
clear-thresholdintegerCache store cache clear threshold.

expiration?

Defines the expiration settings for the RocksDB cache store.

NameTypeDefaultDescription
pathstringThe base directory in which to store expired cache state.
queue-sizeinteger10000Expired entry queue size.

compression?

Defines the data compression to use in the RocksDB store.

NameTypeDefaultDescription
type
NONENo compression.
SNAPPYSnappy compression.
ZLIBZLib compression.
BZLIB2BZLib 2 compression.
LZ4LZ4 compression.
LZ4HCLZ4HC compression.
NONEThe type of compression to be used by RocksDB store.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

remote-store

Defines a remote cache store accessed via HotRod. Deprecated: Please define stores under the persistence element.

NameTypeDefaultDescription
cachestringThe name of the remote cache. If undefined, the default cache will be used.
socket-timeoutlong60000 Enable/disable SO_TIMEOUT on socket connections to remote Hot Rod servers with the specified timeout, in milliseconds. A timeout of zero is interpreted as an infinite timeout.
tcp-no-delaybooleantrue Enable/disable TCP_NODELAY on socket connections to remote Hot Rod servers.
hotrod-wrappingbooleanfalse Ensures that, when entries are retrieved from the remote store, they will be wrapped in a format suitable for serving via HotRod. This flag must be enabled when performing a rolling upgrade
raw-valuesbooleanfalse Enables the storage of data on the remote server in "raw" format as opposed to wrapping the entries in InternalCacheEntry. This will make the remote cache interoperable between direct RemoteCacheManager clients and RemoteCacheStore stores
protocol-versionstring This property defines the protocol version that this client should use.

remote-server+

NameTypeDefaultDescription
outbound-socket-bindingstringAn outbound socket binding for a remote server.

authentication?

plain

Uses PLAIN authentication with the supplied credentials.
NameTypeDefaultDescription
usernamestring
passwordstring

digest

Uses DIGEST-MD5 authentication with the supplied credentials.
NameTypeDefaultDescription
usernamestring
passwordstring
realmstring
server-namestring

external

Uses EXTERNAL authentication, with credentials supplied by the encrypted transport client certificate.

encryption?

NameTypeDefaultDescription
security-realmFIXMEA security realm which supplies a truststore for identifying the remote servers. If client authentication is required, then the security realm must also provide an identity keystore.
sni-hostnameFIXMEAn optional SNI hostname for identifying the remote server.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

rest-store

Defines a remote cache store accessed via REST. Deprecated: Please define stores under the persistence element.

NameTypeDefaultDescription
append-cache-name-to-pathbooleanfalseWhether to append the name of the cache to the path.
pathstring/rest/___defaultcacheThe path portion of the URI of the remote REST endpoint.
max-content-lengthint10485760The maximum allowed content length of a POST/PUT request.

remote-server+

NameTypeDefaultDescription
outbound-socket-bindingstringAn outbound socket binding for a remote server.

connection-pool+

NameTypeDefaultDescription
buffer-sizeint8192The size of the socket buffer.
connection-timeoutint60000A connection timeout for remote cache communication.
max-connections-per-hostint4The maximum number of connections per host.
max-total-connectionsint20The maximum number of total connections.
socket-timeoutint60000A socket timeout for remote cache communication.
tcp-no-delaybooleantrueEnable/disable TCP_NODELAY on socket connections to remote Hot Rod servers.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

indexing?

Defines indexing options for cache

NameTypeDefaultDescription
index
NONEDo not index data. This is the default.
LOCALOnly index changes made locally, ignoring remote changes. This is useful if indexes are shared across a cluster to prevent redundant indexing of updates.
ALLIndex all data
PRIMARY_OWNEROnly index changes on the primary owner, regardless of it's local or remote.
NONEThe indexing mode of the cache. Defaults to NONE.
auto-configbooleanfalseWhether or not to apply automatic index configuration based on cache type

key-transformers?

Defines the Transformers used to stringify keys for indexing with Lucene

key-transformer*

Defines the Transformer to use for the specified key class
NameTypeDefaultDescription
keystring
transformerstring

indexed-entities?

Defines the indexed entity classes

indexed-entity*

Indexed entity class name

property*

Property to pass on to the indexing system

security?

Configures cache-level security.

authorization?

Configures authorization for this cache.

NameTypeDefaultDescription
enabledbooleantrue Enables authorization checks for this cache. Defaults to true if the authorization element is present.
roles Sets the valid roles required to access this cache.

replicated-cache

Defines a REPL_* mode cache.

state-transfer?

The state transfer configuration for distribution and replicated caches.

NameTypeDefaultDescription
enabledbooleantrueIf enabled, 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.
timeoutlong240000The maximum amount of time (ms) to wait for state from neighboring caches, before throwing an exception and aborting startup.
chunk-sizeinteger512The number of cache entries to batch in each transfer.
await-initial-transferbooleantrueIf enabled, this will cause the cache to wait for initial state transfer to complete before responding to requests.

partition-handling?

The partition handling configuration for distribution and replicated caches.

NameTypeDefaultDescription
enabledbooleanDeprecated, use type instead. If enabled, the cache will enter degraded mode when it loses too many nodes.
when-split
DENY_READ_WRITESIf the partition does not have all owners for a given segment, both reads and writes are denied for all keys in that segment.
ALLOW_READSAllows reads for a given key if it exists in this partition, but only allows writes if this partition contains all owners of a segment.
ALLOW_READ_WRITESAllow entries on each partition to diverge, with conflicts resolved during merge.
ALLOW_READ_WRITESThe type of actions that are possible when a split brain scenario is encountered.
merge-policyNONEThe entry merge policy which should be applied on partition merges.
NameTypeDefaultDescription
mode
ASYNCEnables asynchronous mode.
SYNCEnables synchronous mode.
SYNCSets the clustered cache mode, ASYNC for asynchronous operation, or SYNC for synchronous operation.
remote-timeoutlong15000In SYNC mode, 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.
NameTypeDefaultDescription
namestringUniquely identifies this cache within its cache container.
configurationstringThe name of the cache configuration which this configuration inherits from.
batchingbooleanfalseEnables invocation batching for this cache. Defaults to false.
jndi-namestring The jndi name to which to bind this cache. If undefined, the cache will be bound to: java:jboss/infinispan/cache/container-name/cache-name
modulestring Defines the module whose class loader should be used when building this cache, if different from the enclosing cache container. Deprecated: This attribute is currently ignored and usages will cause a warning to be logged. It will be removed in next major version.
statisticsbooleanfalseDetermines whether or not the cache should collect statistics. Keep disabled for optimal performance.
statistics-availablebooleantrueIf set to false, statistics gathering cannot be enabled during runtime. Keep disabled for optimal performance.

backups?

The cross-site backup configuration.

backup+

Configures a specific site where this cache backups data.

NameTypeDefaultDescription
sitestringName of the remote site where this cache backups data.
strategy
ASYNCEnables asynchronous mode.
SYNCEnables synchronous mode.
ASYNCThe strategy used for backing up data: "SYNC" or "ASYNC". Defaults to "ASYNC"
failure-policy
IGNOREIgnore backup failures.
WARNWarn of backup failures.
FAILFail local operations when a backup failure occurs.
WARNDecides what the system would do in case of failure during backup. Defaults to "FAIL"
timeoutlong15000The timeout(millis) to be used when backing up data remotely. Defaults to 10 secs.
enabledbooleantrueIf 'false' then no data is backed up to this site. Defaults to 'true'.

take-offline?

Determines whether this backup is taken offline (ignored) after a certain number of tries.

NameTypeDefaultDescription
after-failuresint0The number of failed request operations after which this site should be taken offline. Defaults to 0 (never). A negative value would mean that the site will be taken offline after 'min-wait'.
min-waitlong0The minimal number of millis to wait before taking this site offline, even in the case 'after-failures' is reached. If smaller or equal to 0, then only 'after-failures' is considered.

state-transfer?

Configures the properties needed to transfer the state for this site.

NameTypeDefaultDescription
chunk-sizeint512 If > 0, the state will be transferred in batches of {@code chunkSize} cache entries. If <= 0, the state will be transferred in all at once. Not recommended. Defaults to 512.
timeoutlong1200000 The time (in milliseconds) to wait for the backup site acknowledge the state chunk received and applied. Default value is 20 min.
max-retriesint30 The maximum number of retries when a push state command fails. A value <= 0 (zero) mean that the command will not retry. Default value is 30.
wait-timelong2000 The waiting time (in milliseconds) between each retry. The value should be > 0 (zero). Default value is 2 seconds.

backup-for?

Configures this cache as a backup for a remote cache.

NameTypeDefaultDescription
remote-cachestring The name of the remote cache that backups data here.
remote-sitestring The name of the remote site containing the cache that backups data here.

encoding?

The cache encoding configuration.

Defines encoding for keys and values of the cache.

key?

Describes the content-type and encoding.
NameTypeDefaultDescription
media-typestring

value?

Describes the content-type and encoding.
NameTypeDefaultDescription
media-typestring

locking?

The locking configuration of the cache.

NameTypeDefaultDescription
isolation
NONENo locking isolation will be performed. This is only valid in local mode. In clustered mode, READ_COMMITTED will be used instead.
READ_UNCOMMITTEDUnsupported. Actually configures READ_COMMITTED
READ_COMMITTEDRead committed is an isolation level that guarantees that any data read is committed at the moment it is read. However, depending on the outcome of other transactions, successive reads may return different results
REPEATABLE_READRepeatable read is an isolation level that guarantees that any data read is committed at the moment it is read and that, within a transaction, successive reads will always return the same data.
SERIALIZABLEUnsupported. Actually configures REPEATABLE_READ
REPEATABLE_READSets the cache locking isolation level. Defaults to READ_COMMITTED. When using REPEATABLE_READ with optimistic locking, write skew checking will be enabled.
stripingbooleanfalseIf 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.
acquire-timeoutlong10000Maximum time to attempt a particular lock acquisition.
concurrency-levelint32Concurrency level for lock containers. Adjust this value according to the number of concurrent threads interacting with Infinispan.

transaction?

The cache transaction configuration.

NameTypeDefaultDescription
mode
NONECache will not enlist within transactions.
NON_XACache will enlist within transactions as a javax.transaction.Synchronization
NON_DURABLE_XACache will enlist within transactions as a javax.transaction.xa.XAResource, without recovery.
FULL_XACache will enlist within transactions as a javax.transaction.xa.XAResource, with recovery.
NONESets the cache transaction mode to one of NONE, NON_XA, NON_DURABLE_XA, FULL_XA.
stop-timeoutlong30000If 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.
locking
OPTIMISTICEnables Optimistic locking.
PESSIMISTICEnables Pessimistic locking.
OPTIMISTICThe locking mode for this cache, one of OPTIMISTIC or PESSIMISTIC.
notificationsbooleantrue Enables or disables triggering transactional notifications on cache listeners. By default is enabled.

memory?

The cache memory configuration.

object

Store keys and values as instance variables. Instances of byte[] will be wrapped to ensure equality.

NameTypeDefaultDescription
sizelong-1The size of the eviction cache as a long. Limits the cache to this normal by the amount of entries in the cache.
strategy
NONENever evict entries. This is the default.
MANUALEviction will be performed manually. Equivalent internally to NONE.
REMOVEEviction will be performed automatically to ensure that "older" entries are removed to make room for new entries.
EXCEPTIONEviction is not performed and instead when the container is full exceptions will prevent new entries from being written to the container. This cache must be transactional and now allow for commit optimizations that would prevent it from performing a two phase commit.
UNORDEREDDeprecated. Activates REMOVE policy.
FIFODeprecated. Activates REMOVE policy.
LRUDeprecated. Activates REMOVE policy.
LIRSDeprecated. Activates REMOVE policy.
The eviction strategy to use. This determines if eviction is even enabled or if it has a different variant.

binary

Store keys and values as byte[] instances. Key and value will be serialized to binary representations.

NameTypeDefaultDescription
sizelong-1The size of the eviction cache as a long. If the configured type is COUNT, this will be how many entries can be stored. If the configured type is MEMORY, this will be how much memory in bytes can be stored.
evictionFIXMEThe eviction type to use whether it is COUNT or MEMORY. COUNT will limit the cache based on the number of entries. MEMORY will limit the cache by how much memory the entries use
strategy
NONENever evict entries. This is the default.
MANUALEviction will be performed manually. Equivalent internally to NONE.
REMOVEEviction will be performed automatically to ensure that "older" entries are removed to make room for new entries.
EXCEPTIONEviction is not performed and instead when the container is full exceptions will prevent new entries from being written to the container. This cache must be transactional and now allow for commit optimizations that would prevent it from performing a two phase commit.
UNORDEREDDeprecated. Activates REMOVE policy.
FIFODeprecated. Activates REMOVE policy.
LRUDeprecated. Activates REMOVE policy.
LIRSDeprecated. Activates REMOVE policy.
The eviction strategy to use. This determines if eviction is even enabled or if it has a different variant.

off-heap

Store keys and values as byte[] off of the Java heap. Key and value will be serialized to binary representations and stored in native memory as to not take up Java heap. Temporary objects will be put onto Java heap temporarily until processing is completed.

NameTypeDefaultDescription
sizelong-1The size of the eviction cache as a long. If the configured type is COUNT, this will be how many entries can be stored. If the configured type is MEMORY, this will be how much memory in bytes can be stored.
evictionFIXMEThe eviction type to use whether it is COUNT or MEMORY. COUNT will limit the cache based on the number of entries. MEMORY will limit the cache by how much memory the entries use
strategy
NONENever evict entries. This is the default.
MANUALEviction will be performed manually. Equivalent internally to NONE.
REMOVEEviction will be performed automatically to ensure that "older" entries are removed to make room for new entries.
EXCEPTIONEviction is not performed and instead when the container is full exceptions will prevent new entries from being written to the container. This cache must be transactional and now allow for commit optimizations that would prevent it from performing a two phase commit.
UNORDEREDDeprecated. Activates REMOVE policy.
FIFODeprecated. Activates REMOVE policy.
LRUDeprecated. Activates REMOVE policy.
LIRSDeprecated. Activates REMOVE policy.
The eviction strategy to use. This determines if eviction is even enabled or if it has a different variant.
address-countint1048576How many address pointers to use. For optimal performance you will want more address pointers than you expect to have entries. This is similar to the size of an array backing a hash map. Without collisions lookups and writes will be constant time. Each pointer will take up 8 bytes of memory thus the default will use 8 MB of off heap memory.

expiration?

The cache expiration configuration.

NameTypeDefaultDescription
max-idlelong-1Maximum 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.
lifespanlong-1Maximum lifespan of a cache entry, after which the entry is expired cluster-wide, in milliseconds. -1 means the entries never expire.
intervallong60000Interval (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 interval to -1.

persistence?

The cache persistence configuration where cache stores/loaders should be configured.

NameTypeDefaultDescription
passivationbooleanfalse If true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. This gives you the ability to 'overflow' to disk, similar to swapping in an operating system. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Defaults to false.
connection-attemptsint10 The maximum number of unsuccessful attempts to start each of the configured CacheWriter/CacheLoader before an exception is thrown and the cache fails to start.
connection-intervalint50 The time, in milliseconds, to wait between subsequent connection attempts on startup. A negative or zero value means no wait between connection attempts.
availability-intervalint1000 The time, in milliseconds, between availability checks to determine if the PersistenceManager is available. In other words, this interval sets how often stores/loaders are polled via their `org.infinispan.persistence.spi.CacheWriter#isAvailable` or `org.infinispan.persistence.spi.CacheLoader#isAvailable` implementation. If a single store/loader is not available, an exception is thrown during cache operations.

cluster-loader

Defines a cluster cache loader.

NameTypeDefaultDescription
remote-timeoutlongThe timeout when performing remote calls.
NameTypeDefaultDescription
namestringUniquely identifies this loader.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.

property*

A cache loader property with name and value.

store

Defines a custom cache store.

NameTypeDefaultDescription
classstringThe class name of the cache store implementation.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

loader

Defines a custom cache loader.

NameTypeDefaultDescription
classstringThe class name of the cache loader implementation.
NameTypeDefaultDescription
namestringUniquely identifies this loader.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.

property*

A cache loader property with name and value.

file-store

Defines a file-based cache store.

NameTypeDefaultDescription
max-entriesint Sets the maximum number of in-memory mappings between keys and their position in the store. Normally this is unlimited, but to avoid excess memory usage, an upper bound can be configured. If this limit is exceeded, entries are removed permanently using the LRU algorithm both from the in-memory index and the underlying file based cache store. Warning: setting this value may cause data loss.
relative-tostringjboss.server.data.dirThe base directory in which to store the cache state.
pathstring The path within "relative-to" in which to store the cache state. If undefined, the path defaults to the cache container name.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

string-keyed-jdbc-store

Defines a database cache store accessed via JDBC using string-based keys.

string-keyed-table?

Defines the table used to store cache entries.

NameTypeDefaultDescription
prefixstringispn_entryDefines the prefix prepended to the cache name used when composing the name of the cache entry table.
NameTypeDefaultDescription
fetch-sizeint100The fetch size used when querying from this table. Used to avoid heap memory exhaustion when query is large.
batch-sizeint100The statement batch size used when modifying this table.
create-on-startbooleantrueDetermines whether database tables should be created by the store on startup.
drop-on-exitbooleanfalseDetermines whether database tables should be dropped by the store on shutdown.

id-column?

Defines the column in which to store the cache key or bucket id.

NameTypeDefaultDescription
namestringidThe name of the column used to store the cache key or bucket id.
typestringVARCHARThe type of the column used to store the cache key or bucket id.

data-column?

Defines the column in which to store the cache entry or bucket.

NameTypeDefaultDescription
namestringdatumThe name of the column used to store the cache entry or bucket.
typestringBINARYThe type of the column used to store the cache entry or bucket.

timestamp-column?

Defines the column in which to store the timestamp of the cache entry or bucket.

NameTypeDefaultDescription
namestringversionThe name of the column used to store the cache entry or bucket timestamp.
typestringBIGINTThe type of the column used to store the cache entry or bucket timestamp.
NameTypeDefaultDescription
datasourcestringDefines the jndi name of the datasource.
dialect
ACCESS
DB2
DB2_390
DERBY
FIREBIRD
H2
HSQL
INFORMIX
INTERBASE
MARIA_DB
MYSQL
ORACLE
POSTGRES
SQL_SERVER
SQLITE
SYBASE
Defines the JDBC dialect.
db-major-versionnonNegativeIntegerDefines the major version of the database.
db-minor-versionnonNegativeIntegerDefines the minor version of the database.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

rocksdb-store

Defines a RocksDB cache store.

NameTypeDefaultDescription
relative-tostringjboss.server.data.dirThe base directory in which to store the cache state.
pathstring The path within "relative-to" in which to store the cache state. If undefined, the path defaults to the cache container name.
block-sizeintegerCache store block size.
cache-sizelongCache size for the cache store.
clear-thresholdintegerCache store cache clear threshold.

expiration?

Defines the expiration settings for the RocksDB cache store.

NameTypeDefaultDescription
pathstringThe base directory in which to store expired cache state.
queue-sizeinteger10000Expired entry queue size.

compression?

Defines the data compression to use in the RocksDB store.

NameTypeDefaultDescription
type
NONENo compression.
SNAPPYSnappy compression.
ZLIBZLib compression.
BZLIB2BZLib 2 compression.
LZ4LZ4 compression.
LZ4HCLZ4HC compression.
NONEThe type of compression to be used by RocksDB store.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

remote-store

Defines a remote cache store accessed via HotRod.

NameTypeDefaultDescription
cachestringThe name of the remote cache. If undefined, the default cache will be used.
socket-timeoutlong60000 Enable/disable SO_TIMEOUT on socket connections to remote Hot Rod servers with the specified timeout, in milliseconds. A timeout of zero is interpreted as an infinite timeout.
tcp-no-delaybooleantrue Enable/disable TCP_NODELAY on socket connections to remote Hot Rod servers.
hotrod-wrappingbooleanfalse Ensures that, when entries are retrieved from the remote store, they will be wrapped in a format suitable for serving via HotRod. This flag must be enabled when performing a rolling upgrade
raw-valuesbooleanfalse Enables the storage of data on the remote server in "raw" format as opposed to wrapping the entries in InternalCacheEntry. This will make the remote cache interoperable between direct RemoteCacheManager clients and RemoteCacheStore stores
protocol-versionstring This property defines the protocol version that this client should use.

remote-server+

NameTypeDefaultDescription
outbound-socket-bindingstringAn outbound socket binding for a remote server.

authentication?

plain

Uses PLAIN authentication with the supplied credentials.
NameTypeDefaultDescription
usernamestring
passwordstring

digest

Uses DIGEST-MD5 authentication with the supplied credentials.
NameTypeDefaultDescription
usernamestring
passwordstring
realmstring
server-namestring

external

Uses EXTERNAL authentication, with credentials supplied by the encrypted transport client certificate.

encryption?

NameTypeDefaultDescription
security-realmFIXMEA security realm which supplies a truststore for identifying the remote servers. If client authentication is required, then the security realm must also provide an identity keystore.
sni-hostnameFIXMEAn optional SNI hostname for identifying the remote server.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

rest-store

Defines a remote cache store accessed via REST.

NameTypeDefaultDescription
append-cache-name-to-pathbooleanfalseWhether to append the name of the cache to the path.
pathstring/rest/___defaultcacheThe path portion of the URI of the remote REST endpoint.
max-content-lengthint10485760The maximum allowed content length of a POST/PUT request.

remote-server+

NameTypeDefaultDescription
outbound-socket-bindingstringAn outbound socket binding for a remote server.

connection-pool+

NameTypeDefaultDescription
buffer-sizeint8192The size of the socket buffer.
connection-timeoutint60000A connection timeout for remote cache communication.
max-connections-per-hostint4The maximum number of connections per host.
max-total-connectionsint20The maximum number of total connections.
socket-timeoutint60000A socket timeout for remote cache communication.
tcp-no-delaybooleantrueEnable/disable TCP_NODELAY on socket connections to remote Hot Rod servers.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

soft-index-file-store

Defines a soft-index file store.

NameTypeDefaultDescription
open-files-limitint1000 Max number of data files opened for reading (current log file, compaction output and index segments are not included here).
compaction-thresholddouble0.5 If amount of unused space in some data file gets above this threshold, the file is compacted - entries from that file are copied to a new file and the old file is deleted.

data?

Configure where and how should be the entries stored - this is the persistent location.
NameTypeDefaultDescription
pathstringjboss.server.data.dir A location on disk where the store writes entries. Files are written sequentially, reads are random.
max-file-sizeint16777216 Max size of single file with entries, in bytes.
sync-writesbooleanfalse If true, the write is confirmed only after the entry is fsynced on disk.

index?

Configure where and how should be the index stored.
NameTypeDefaultDescription
pathstringjboss.server.data.dir A location where the store keeps index - this does not have to be persistent across restarts, and SSD storage is recommended (the index is accessed randomly).
segmentsint3 Number of index segment files. Increasing this value improves throughput but requires more threads to be spawned.
max-queue-lengthint1000 Max number of entry writes that are waiting to be written to the index, per index segment.
max-node-sizeint4096 Max size of node (continuous block on filesystem used in index implementation), in bytes.
min-node-sizeint0 If the size of node (continuous block on filesystem used in index implementation) drops below this threshold, the node will try to balance its size with some neighbour node, possibly causing join of multiple nodes.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

cluster-loader

Defines a cluster cache loader. Deprecated: Please define loaders under the persistence element.

NameTypeDefaultDescription
remote-timeoutlongThe timeout when performing remote calls.
NameTypeDefaultDescription
namestringUniquely identifies this loader.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.

property*

A cache loader property with name and value.

store

Defines a custom cache store. Deprecated: Please define stores under the persistence element.

NameTypeDefaultDescription
classstringThe class name of the cache store implementation.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

loader

Defines a custom cache loader. Deprecated: Please define loaders under the persistence element.

NameTypeDefaultDescription
classstringThe class name of the cache loader implementation.
NameTypeDefaultDescription
namestringUniquely identifies this loader.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.

property*

A cache loader property with name and value.

file-store

Defines a file-based cache store. Deprecated: Please define stores under the persistence element.

NameTypeDefaultDescription
max-entriesint Sets the maximum number of in-memory mappings between keys and their position in the store. Normally this is unlimited, but to avoid excess memory usage, an upper bound can be configured. If this limit is exceeded, entries are removed permanently using the LRU algorithm both from the in-memory index and the underlying file based cache store. Warning: setting this value may cause data loss.
relative-tostringjboss.server.data.dirThe base directory in which to store the cache state.
pathstring The path within "relative-to" in which to store the cache state. If undefined, the path defaults to the cache container name.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

string-keyed-jdbc-store

Defines a database cache store accessed via JDBC using string-based keys. Deprecated: Please define stores under the persistence element.

string-keyed-table?

Defines the table used to store cache entries.

NameTypeDefaultDescription
prefixstringispn_entryDefines the prefix prepended to the cache name used when composing the name of the cache entry table.
NameTypeDefaultDescription
fetch-sizeint100The fetch size used when querying from this table. Used to avoid heap memory exhaustion when query is large.
batch-sizeint100The statement batch size used when modifying this table.
create-on-startbooleantrueDetermines whether database tables should be created by the store on startup.
drop-on-exitbooleanfalseDetermines whether database tables should be dropped by the store on shutdown.

id-column?

Defines the column in which to store the cache key or bucket id.

NameTypeDefaultDescription
namestringidThe name of the column used to store the cache key or bucket id.
typestringVARCHARThe type of the column used to store the cache key or bucket id.

data-column?

Defines the column in which to store the cache entry or bucket.

NameTypeDefaultDescription
namestringdatumThe name of the column used to store the cache entry or bucket.
typestringBINARYThe type of the column used to store the cache entry or bucket.

timestamp-column?

Defines the column in which to store the timestamp of the cache entry or bucket.

NameTypeDefaultDescription
namestringversionThe name of the column used to store the cache entry or bucket timestamp.
typestringBIGINTThe type of the column used to store the cache entry or bucket timestamp.
NameTypeDefaultDescription
datasourcestringDefines the jndi name of the datasource.
dialect
ACCESS
DB2
DB2_390
DERBY
FIREBIRD
H2
HSQL
INFORMIX
INTERBASE
MARIA_DB
MYSQL
ORACLE
POSTGRES
SQL_SERVER
SQLITE
SYBASE
Defines the JDBC dialect.
db-major-versionnonNegativeIntegerDefines the major version of the database.
db-minor-versionnonNegativeIntegerDefines the minor version of the database.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

rocksdb-store

Defines a RocksDB cache store. Deprecated: Please define stores under the persistence element.

NameTypeDefaultDescription
relative-tostringjboss.server.data.dirThe base directory in which to store the cache state.
pathstring The path within "relative-to" in which to store the cache state. If undefined, the path defaults to the cache container name.
block-sizeintegerCache store block size.
cache-sizelongCache size for the cache store.
clear-thresholdintegerCache store cache clear threshold.

expiration?

Defines the expiration settings for the RocksDB cache store.

NameTypeDefaultDescription
pathstringThe base directory in which to store expired cache state.
queue-sizeinteger10000Expired entry queue size.

compression?

Defines the data compression to use in the RocksDB store.

NameTypeDefaultDescription
type
NONENo compression.
SNAPPYSnappy compression.
ZLIBZLib compression.
BZLIB2BZLib 2 compression.
LZ4LZ4 compression.
LZ4HCLZ4HC compression.
NONEThe type of compression to be used by RocksDB store.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

remote-store

Defines a remote cache store accessed via HotRod. Deprecated: Please define stores under the persistence element.

NameTypeDefaultDescription
cachestringThe name of the remote cache. If undefined, the default cache will be used.
socket-timeoutlong60000 Enable/disable SO_TIMEOUT on socket connections to remote Hot Rod servers with the specified timeout, in milliseconds. A timeout of zero is interpreted as an infinite timeout.
tcp-no-delaybooleantrue Enable/disable TCP_NODELAY on socket connections to remote Hot Rod servers.
hotrod-wrappingbooleanfalse Ensures that, when entries are retrieved from the remote store, they will be wrapped in a format suitable for serving via HotRod. This flag must be enabled when performing a rolling upgrade
raw-valuesbooleanfalse Enables the storage of data on the remote server in "raw" format as opposed to wrapping the entries in InternalCacheEntry. This will make the remote cache interoperable between direct RemoteCacheManager clients and RemoteCacheStore stores
protocol-versionstring This property defines the protocol version that this client should use.

remote-server+

NameTypeDefaultDescription
outbound-socket-bindingstringAn outbound socket binding for a remote server.

authentication?

plain

Uses PLAIN authentication with the supplied credentials.
NameTypeDefaultDescription
usernamestring
passwordstring

digest

Uses DIGEST-MD5 authentication with the supplied credentials.
NameTypeDefaultDescription
usernamestring
passwordstring
realmstring
server-namestring

external

Uses EXTERNAL authentication, with credentials supplied by the encrypted transport client certificate.

encryption?

NameTypeDefaultDescription
security-realmFIXMEA security realm which supplies a truststore for identifying the remote servers. If client authentication is required, then the security realm must also provide an identity keystore.
sni-hostnameFIXMEAn optional SNI hostname for identifying the remote server.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

rest-store

Defines a remote cache store accessed via REST. Deprecated: Please define stores under the persistence element.

NameTypeDefaultDescription
append-cache-name-to-pathbooleanfalseWhether to append the name of the cache to the path.
pathstring/rest/___defaultcacheThe path portion of the URI of the remote REST endpoint.
max-content-lengthint10485760The maximum allowed content length of a POST/PUT request.

remote-server+

NameTypeDefaultDescription
outbound-socket-bindingstringAn outbound socket binding for a remote server.

connection-pool+

NameTypeDefaultDescription
buffer-sizeint8192The size of the socket buffer.
connection-timeoutint60000A connection timeout for remote cache communication.
max-connections-per-hostint4The maximum number of connections per host.
max-total-connectionsint20The maximum number of total connections.
socket-timeoutint60000A socket timeout for remote cache communication.
tcp-no-delaybooleantrueEnable/disable TCP_NODELAY on socket connections to remote Hot Rod servers.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

indexing?

Defines indexing options for cache

NameTypeDefaultDescription
index
NONEDo not index data. This is the default.
LOCALOnly index changes made locally, ignoring remote changes. This is useful if indexes are shared across a cluster to prevent redundant indexing of updates.
ALLIndex all data
PRIMARY_OWNEROnly index changes on the primary owner, regardless of it's local or remote.
NONEThe indexing mode of the cache. Defaults to NONE.
auto-configbooleanfalseWhether or not to apply automatic index configuration based on cache type

key-transformers?

Defines the Transformers used to stringify keys for indexing with Lucene

key-transformer*

Defines the Transformer to use for the specified key class
NameTypeDefaultDescription
keystring
transformerstring

indexed-entities?

Defines the indexed entity classes

indexed-entity*

Indexed entity class name

property*

Property to pass on to the indexing system

security?

Configures cache-level security.

authorization?

Configures authorization for this cache.

NameTypeDefaultDescription
enabledbooleantrue Enables authorization checks for this cache. Defaults to true if the authorization element is present.
roles Sets the valid roles required to access this cache.

invalidation-cache-configuration

Defines an INVALIDATION_* mode cache configuration.

NameTypeDefaultDescription
mode
ASYNCEnables asynchronous mode.
SYNCEnables synchronous mode.
SYNCSets the clustered cache mode, ASYNC for asynchronous operation, or SYNC for synchronous operation.
remote-timeoutlong15000In SYNC mode, 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.
NameTypeDefaultDescription
namestringUniquely identifies this cache within its cache container.
configurationstringThe name of the cache configuration which this configuration inherits from.
batchingbooleanfalseEnables invocation batching for this cache. Defaults to false.
jndi-namestring The jndi name to which to bind this cache. If undefined, the cache will be bound to: java:jboss/infinispan/cache/container-name/cache-name
modulestring Defines the module whose class loader should be used when building this cache, if different from the enclosing cache container. Deprecated: This attribute is currently ignored and usages will cause a warning to be logged. It will be removed in next major version.
statisticsbooleanfalseDetermines whether or not the cache should collect statistics. Keep disabled for optimal performance.
statistics-availablebooleantrueIf set to false, statistics gathering cannot be enabled during runtime. Keep disabled for optimal performance.

backups?

The cross-site backup configuration.

backup+

Configures a specific site where this cache backups data.

NameTypeDefaultDescription
sitestringName of the remote site where this cache backups data.
strategy
ASYNCEnables asynchronous mode.
SYNCEnables synchronous mode.
ASYNCThe strategy used for backing up data: "SYNC" or "ASYNC". Defaults to "ASYNC"
failure-policy
IGNOREIgnore backup failures.
WARNWarn of backup failures.
FAILFail local operations when a backup failure occurs.
WARNDecides what the system would do in case of failure during backup. Defaults to "FAIL"
timeoutlong15000The timeout(millis) to be used when backing up data remotely. Defaults to 10 secs.
enabledbooleantrueIf 'false' then no data is backed up to this site. Defaults to 'true'.

take-offline?

Determines whether this backup is taken offline (ignored) after a certain number of tries.

NameTypeDefaultDescription
after-failuresint0The number of failed request operations after which this site should be taken offline. Defaults to 0 (never). A negative value would mean that the site will be taken offline after 'min-wait'.
min-waitlong0The minimal number of millis to wait before taking this site offline, even in the case 'after-failures' is reached. If smaller or equal to 0, then only 'after-failures' is considered.

state-transfer?

Configures the properties needed to transfer the state for this site.

NameTypeDefaultDescription
chunk-sizeint512 If > 0, the state will be transferred in batches of {@code chunkSize} cache entries. If <= 0, the state will be transferred in all at once. Not recommended. Defaults to 512.
timeoutlong1200000 The time (in milliseconds) to wait for the backup site acknowledge the state chunk received and applied. Default value is 20 min.
max-retriesint30 The maximum number of retries when a push state command fails. A value <= 0 (zero) mean that the command will not retry. Default value is 30.
wait-timelong2000 The waiting time (in milliseconds) between each retry. The value should be > 0 (zero). Default value is 2 seconds.

backup-for?

Configures this cache as a backup for a remote cache.

NameTypeDefaultDescription
remote-cachestring The name of the remote cache that backups data here.
remote-sitestring The name of the remote site containing the cache that backups data here.

encoding?

The cache encoding configuration.

Defines encoding for keys and values of the cache.

key?

Describes the content-type and encoding.
NameTypeDefaultDescription
media-typestring

value?

Describes the content-type and encoding.
NameTypeDefaultDescription
media-typestring

locking?

The locking configuration of the cache.

NameTypeDefaultDescription
isolation
NONENo locking isolation will be performed. This is only valid in local mode. In clustered mode, READ_COMMITTED will be used instead.
READ_UNCOMMITTEDUnsupported. Actually configures READ_COMMITTED
READ_COMMITTEDRead committed is an isolation level that guarantees that any data read is committed at the moment it is read. However, depending on the outcome of other transactions, successive reads may return different results
REPEATABLE_READRepeatable read is an isolation level that guarantees that any data read is committed at the moment it is read and that, within a transaction, successive reads will always return the same data.
SERIALIZABLEUnsupported. Actually configures REPEATABLE_READ
REPEATABLE_READSets the cache locking isolation level. Defaults to READ_COMMITTED. When using REPEATABLE_READ with optimistic locking, write skew checking will be enabled.
stripingbooleanfalseIf 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.
acquire-timeoutlong10000Maximum time to attempt a particular lock acquisition.
concurrency-levelint32Concurrency level for lock containers. Adjust this value according to the number of concurrent threads interacting with Infinispan.

transaction?

The cache transaction configuration.

NameTypeDefaultDescription
mode
NONECache will not enlist within transactions.
NON_XACache will enlist within transactions as a javax.transaction.Synchronization
NON_DURABLE_XACache will enlist within transactions as a javax.transaction.xa.XAResource, without recovery.
FULL_XACache will enlist within transactions as a javax.transaction.xa.XAResource, with recovery.
NONESets the cache transaction mode to one of NONE, NON_XA, NON_DURABLE_XA, FULL_XA.
stop-timeoutlong30000If 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.
locking
OPTIMISTICEnables Optimistic locking.
PESSIMISTICEnables Pessimistic locking.
OPTIMISTICThe locking mode for this cache, one of OPTIMISTIC or PESSIMISTIC.
notificationsbooleantrue Enables or disables triggering transactional notifications on cache listeners. By default is enabled.

memory?

The cache memory configuration.

object

Store keys and values as instance variables. Instances of byte[] will be wrapped to ensure equality.

NameTypeDefaultDescription
sizelong-1The size of the eviction cache as a long. Limits the cache to this normal by the amount of entries in the cache.
strategy
NONENever evict entries. This is the default.
MANUALEviction will be performed manually. Equivalent internally to NONE.
REMOVEEviction will be performed automatically to ensure that "older" entries are removed to make room for new entries.
EXCEPTIONEviction is not performed and instead when the container is full exceptions will prevent new entries from being written to the container. This cache must be transactional and now allow for commit optimizations that would prevent it from performing a two phase commit.
UNORDEREDDeprecated. Activates REMOVE policy.
FIFODeprecated. Activates REMOVE policy.
LRUDeprecated. Activates REMOVE policy.
LIRSDeprecated. Activates REMOVE policy.
The eviction strategy to use. This determines if eviction is even enabled or if it has a different variant.

binary

Store keys and values as byte[] instances. Key and value will be serialized to binary representations.

NameTypeDefaultDescription
sizelong-1The size of the eviction cache as a long. If the configured type is COUNT, this will be how many entries can be stored. If the configured type is MEMORY, this will be how much memory in bytes can be stored.
evictionFIXMEThe eviction type to use whether it is COUNT or MEMORY. COUNT will limit the cache based on the number of entries. MEMORY will limit the cache by how much memory the entries use
strategy
NONENever evict entries. This is the default.
MANUALEviction will be performed manually. Equivalent internally to NONE.
REMOVEEviction will be performed automatically to ensure that "older" entries are removed to make room for new entries.
EXCEPTIONEviction is not performed and instead when the container is full exceptions will prevent new entries from being written to the container. This cache must be transactional and now allow for commit optimizations that would prevent it from performing a two phase commit.
UNORDEREDDeprecated. Activates REMOVE policy.
FIFODeprecated. Activates REMOVE policy.
LRUDeprecated. Activates REMOVE policy.
LIRSDeprecated. Activates REMOVE policy.
The eviction strategy to use. This determines if eviction is even enabled or if it has a different variant.

off-heap

Store keys and values as byte[] off of the Java heap. Key and value will be serialized to binary representations and stored in native memory as to not take up Java heap. Temporary objects will be put onto Java heap temporarily until processing is completed.

NameTypeDefaultDescription
sizelong-1The size of the eviction cache as a long. If the configured type is COUNT, this will be how many entries can be stored. If the configured type is MEMORY, this will be how much memory in bytes can be stored.
evictionFIXMEThe eviction type to use whether it is COUNT or MEMORY. COUNT will limit the cache based on the number of entries. MEMORY will limit the cache by how much memory the entries use
strategy
NONENever evict entries. This is the default.
MANUALEviction will be performed manually. Equivalent internally to NONE.
REMOVEEviction will be performed automatically to ensure that "older" entries are removed to make room for new entries.
EXCEPTIONEviction is not performed and instead when the container is full exceptions will prevent new entries from being written to the container. This cache must be transactional and now allow for commit optimizations that would prevent it from performing a two phase commit.
UNORDEREDDeprecated. Activates REMOVE policy.
FIFODeprecated. Activates REMOVE policy.
LRUDeprecated. Activates REMOVE policy.
LIRSDeprecated. Activates REMOVE policy.
The eviction strategy to use. This determines if eviction is even enabled or if it has a different variant.
address-countint1048576How many address pointers to use. For optimal performance you will want more address pointers than you expect to have entries. This is similar to the size of an array backing a hash map. Without collisions lookups and writes will be constant time. Each pointer will take up 8 bytes of memory thus the default will use 8 MB of off heap memory.

expiration?

The cache expiration configuration.

NameTypeDefaultDescription
max-idlelong-1Maximum 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.
lifespanlong-1Maximum lifespan of a cache entry, after which the entry is expired cluster-wide, in milliseconds. -1 means the entries never expire.
intervallong60000Interval (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 interval to -1.

persistence?

The cache persistence configuration where cache stores/loaders should be configured.

NameTypeDefaultDescription
passivationbooleanfalse If true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. This gives you the ability to 'overflow' to disk, similar to swapping in an operating system. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Defaults to false.
connection-attemptsint10 The maximum number of unsuccessful attempts to start each of the configured CacheWriter/CacheLoader before an exception is thrown and the cache fails to start.
connection-intervalint50 The time, in milliseconds, to wait between subsequent connection attempts on startup. A negative or zero value means no wait between connection attempts.
availability-intervalint1000 The time, in milliseconds, between availability checks to determine if the PersistenceManager is available. In other words, this interval sets how often stores/loaders are polled via their `org.infinispan.persistence.spi.CacheWriter#isAvailable` or `org.infinispan.persistence.spi.CacheLoader#isAvailable` implementation. If a single store/loader is not available, an exception is thrown during cache operations.

cluster-loader

Defines a cluster cache loader.

NameTypeDefaultDescription
remote-timeoutlongThe timeout when performing remote calls.
NameTypeDefaultDescription
namestringUniquely identifies this loader.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.

property*

A cache loader property with name and value.

store

Defines a custom cache store.

NameTypeDefaultDescription
classstringThe class name of the cache store implementation.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

loader

Defines a custom cache loader.

NameTypeDefaultDescription
classstringThe class name of the cache loader implementation.
NameTypeDefaultDescription
namestringUniquely identifies this loader.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.

property*

A cache loader property with name and value.

file-store

Defines a file-based cache store.

NameTypeDefaultDescription
max-entriesint Sets the maximum number of in-memory mappings between keys and their position in the store. Normally this is unlimited, but to avoid excess memory usage, an upper bound can be configured. If this limit is exceeded, entries are removed permanently using the LRU algorithm both from the in-memory index and the underlying file based cache store. Warning: setting this value may cause data loss.
relative-tostringjboss.server.data.dirThe base directory in which to store the cache state.
pathstring The path within "relative-to" in which to store the cache state. If undefined, the path defaults to the cache container name.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

string-keyed-jdbc-store

Defines a database cache store accessed via JDBC using string-based keys.

string-keyed-table?

Defines the table used to store cache entries.

NameTypeDefaultDescription
prefixstringispn_entryDefines the prefix prepended to the cache name used when composing the name of the cache entry table.
NameTypeDefaultDescription
fetch-sizeint100The fetch size used when querying from this table. Used to avoid heap memory exhaustion when query is large.
batch-sizeint100The statement batch size used when modifying this table.
create-on-startbooleantrueDetermines whether database tables should be created by the store on startup.
drop-on-exitbooleanfalseDetermines whether database tables should be dropped by the store on shutdown.

id-column?

Defines the column in which to store the cache key or bucket id.

NameTypeDefaultDescription
namestringidThe name of the column used to store the cache key or bucket id.
typestringVARCHARThe type of the column used to store the cache key or bucket id.

data-column?

Defines the column in which to store the cache entry or bucket.

NameTypeDefaultDescription
namestringdatumThe name of the column used to store the cache entry or bucket.
typestringBINARYThe type of the column used to store the cache entry or bucket.

timestamp-column?

Defines the column in which to store the timestamp of the cache entry or bucket.

NameTypeDefaultDescription
namestringversionThe name of the column used to store the cache entry or bucket timestamp.
typestringBIGINTThe type of the column used to store the cache entry or bucket timestamp.
NameTypeDefaultDescription
datasourcestringDefines the jndi name of the datasource.
dialect
ACCESS
DB2
DB2_390
DERBY
FIREBIRD
H2
HSQL
INFORMIX
INTERBASE
MARIA_DB
MYSQL
ORACLE
POSTGRES
SQL_SERVER
SQLITE
SYBASE
Defines the JDBC dialect.
db-major-versionnonNegativeIntegerDefines the major version of the database.
db-minor-versionnonNegativeIntegerDefines the minor version of the database.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

rocksdb-store

Defines a RocksDB cache store.

NameTypeDefaultDescription
relative-tostringjboss.server.data.dirThe base directory in which to store the cache state.
pathstring The path within "relative-to" in which to store the cache state. If undefined, the path defaults to the cache container name.
block-sizeintegerCache store block size.
cache-sizelongCache size for the cache store.
clear-thresholdintegerCache store cache clear threshold.

expiration?

Defines the expiration settings for the RocksDB cache store.

NameTypeDefaultDescription
pathstringThe base directory in which to store expired cache state.
queue-sizeinteger10000Expired entry queue size.

compression?

Defines the data compression to use in the RocksDB store.

NameTypeDefaultDescription
type
NONENo compression.
SNAPPYSnappy compression.
ZLIBZLib compression.
BZLIB2BZLib 2 compression.
LZ4LZ4 compression.
LZ4HCLZ4HC compression.
NONEThe type of compression to be used by RocksDB store.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

remote-store

Defines a remote cache store accessed via HotRod.

NameTypeDefaultDescription
cachestringThe name of the remote cache. If undefined, the default cache will be used.
socket-timeoutlong60000 Enable/disable SO_TIMEOUT on socket connections to remote Hot Rod servers with the specified timeout, in milliseconds. A timeout of zero is interpreted as an infinite timeout.
tcp-no-delaybooleantrue Enable/disable TCP_NODELAY on socket connections to remote Hot Rod servers.
hotrod-wrappingbooleanfalse Ensures that, when entries are retrieved from the remote store, they will be wrapped in a format suitable for serving via HotRod. This flag must be enabled when performing a rolling upgrade
raw-valuesbooleanfalse Enables the storage of data on the remote server in "raw" format as opposed to wrapping the entries in InternalCacheEntry. This will make the remote cache interoperable between direct RemoteCacheManager clients and RemoteCacheStore stores
protocol-versionstring This property defines the protocol version that this client should use.

remote-server+

NameTypeDefaultDescription
outbound-socket-bindingstringAn outbound socket binding for a remote server.

authentication?

plain

Uses PLAIN authentication with the supplied credentials.
NameTypeDefaultDescription
usernamestring
passwordstring

digest

Uses DIGEST-MD5 authentication with the supplied credentials.
NameTypeDefaultDescription
usernamestring
passwordstring
realmstring
server-namestring

external

Uses EXTERNAL authentication, with credentials supplied by the encrypted transport client certificate.

encryption?

NameTypeDefaultDescription
security-realmFIXMEA security realm which supplies a truststore for identifying the remote servers. If client authentication is required, then the security realm must also provide an identity keystore.
sni-hostnameFIXMEAn optional SNI hostname for identifying the remote server.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

rest-store

Defines a remote cache store accessed via REST.

NameTypeDefaultDescription
append-cache-name-to-pathbooleanfalseWhether to append the name of the cache to the path.
pathstring/rest/___defaultcacheThe path portion of the URI of the remote REST endpoint.
max-content-lengthint10485760The maximum allowed content length of a POST/PUT request.

remote-server+

NameTypeDefaultDescription
outbound-socket-bindingstringAn outbound socket binding for a remote server.

connection-pool+

NameTypeDefaultDescription
buffer-sizeint8192The size of the socket buffer.
connection-timeoutint60000A connection timeout for remote cache communication.
max-connections-per-hostint4The maximum number of connections per host.
max-total-connectionsint20The maximum number of total connections.
socket-timeoutint60000A socket timeout for remote cache communication.
tcp-no-delaybooleantrueEnable/disable TCP_NODELAY on socket connections to remote Hot Rod servers.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

soft-index-file-store

Defines a soft-index file store.

NameTypeDefaultDescription
open-files-limitint1000 Max number of data files opened for reading (current log file, compaction output and index segments are not included here).
compaction-thresholddouble0.5 If amount of unused space in some data file gets above this threshold, the file is compacted - entries from that file are copied to a new file and the old file is deleted.

data?

Configure where and how should be the entries stored - this is the persistent location.
NameTypeDefaultDescription
pathstringjboss.server.data.dir A location on disk where the store writes entries. Files are written sequentially, reads are random.
max-file-sizeint16777216 Max size of single file with entries, in bytes.
sync-writesbooleanfalse If true, the write is confirmed only after the entry is fsynced on disk.

index?

Configure where and how should be the index stored.
NameTypeDefaultDescription
pathstringjboss.server.data.dir A location where the store keeps index - this does not have to be persistent across restarts, and SSD storage is recommended (the index is accessed randomly).
segmentsint3 Number of index segment files. Increasing this value improves throughput but requires more threads to be spawned.
max-queue-lengthint1000 Max number of entry writes that are waiting to be written to the index, per index segment.
max-node-sizeint4096 Max size of node (continuous block on filesystem used in index implementation), in bytes.
min-node-sizeint0 If the size of node (continuous block on filesystem used in index implementation) drops below this threshold, the node will try to balance its size with some neighbour node, possibly causing join of multiple nodes.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

cluster-loader

Defines a cluster cache loader. Deprecated: Please define loaders under the persistence element.

NameTypeDefaultDescription
remote-timeoutlongThe timeout when performing remote calls.
NameTypeDefaultDescription
namestringUniquely identifies this loader.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.

property*

A cache loader property with name and value.

store

Defines a custom cache store. Deprecated: Please define stores under the persistence element.

NameTypeDefaultDescription
classstringThe class name of the cache store implementation.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

loader

Defines a custom cache loader. Deprecated: Please define loaders under the persistence element.

NameTypeDefaultDescription
classstringThe class name of the cache loader implementation.
NameTypeDefaultDescription
namestringUniquely identifies this loader.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.

property*

A cache loader property with name and value.

file-store

Defines a file-based cache store. Deprecated: Please define stores under the persistence element.

NameTypeDefaultDescription
max-entriesint Sets the maximum number of in-memory mappings between keys and their position in the store. Normally this is unlimited, but to avoid excess memory usage, an upper bound can be configured. If this limit is exceeded, entries are removed permanently using the LRU algorithm both from the in-memory index and the underlying file based cache store. Warning: setting this value may cause data loss.
relative-tostringjboss.server.data.dirThe base directory in which to store the cache state.
pathstring The path within "relative-to" in which to store the cache state. If undefined, the path defaults to the cache container name.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

string-keyed-jdbc-store

Defines a database cache store accessed via JDBC using string-based keys. Deprecated: Please define stores under the persistence element.

string-keyed-table?

Defines the table used to store cache entries.

NameTypeDefaultDescription
prefixstringispn_entryDefines the prefix prepended to the cache name used when composing the name of the cache entry table.
NameTypeDefaultDescription
fetch-sizeint100The fetch size used when querying from this table. Used to avoid heap memory exhaustion when query is large.
batch-sizeint100The statement batch size used when modifying this table.
create-on-startbooleantrueDetermines whether database tables should be created by the store on startup.
drop-on-exitbooleanfalseDetermines whether database tables should be dropped by the store on shutdown.

id-column?

Defines the column in which to store the cache key or bucket id.

NameTypeDefaultDescription
namestringidThe name of the column used to store the cache key or bucket id.
typestringVARCHARThe type of the column used to store the cache key or bucket id.

data-column?

Defines the column in which to store the cache entry or bucket.

NameTypeDefaultDescription
namestringdatumThe name of the column used to store the cache entry or bucket.
typestringBINARYThe type of the column used to store the cache entry or bucket.

timestamp-column?

Defines the column in which to store the timestamp of the cache entry or bucket.

NameTypeDefaultDescription
namestringversionThe name of the column used to store the cache entry or bucket timestamp.
typestringBIGINTThe type of the column used to store the cache entry or bucket timestamp.
NameTypeDefaultDescription
datasourcestringDefines the jndi name of the datasource.
dialect
ACCESS
DB2
DB2_390
DERBY
FIREBIRD
H2
HSQL
INFORMIX
INTERBASE
MARIA_DB
MYSQL
ORACLE
POSTGRES
SQL_SERVER
SQLITE
SYBASE
Defines the JDBC dialect.
db-major-versionnonNegativeIntegerDefines the major version of the database.
db-minor-versionnonNegativeIntegerDefines the minor version of the database.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

rocksdb-store

Defines a RocksDB cache store. Deprecated: Please define stores under the persistence element.

NameTypeDefaultDescription
relative-tostringjboss.server.data.dirThe base directory in which to store the cache state.
pathstring The path within "relative-to" in which to store the cache state. If undefined, the path defaults to the cache container name.
block-sizeintegerCache store block size.
cache-sizelongCache size for the cache store.
clear-thresholdintegerCache store cache clear threshold.

expiration?

Defines the expiration settings for the RocksDB cache store.

NameTypeDefaultDescription
pathstringThe base directory in which to store expired cache state.
queue-sizeinteger10000Expired entry queue size.

compression?

Defines the data compression to use in the RocksDB store.

NameTypeDefaultDescription
type
NONENo compression.
SNAPPYSnappy compression.
ZLIBZLib compression.
BZLIB2BZLib 2 compression.
LZ4LZ4 compression.
LZ4HCLZ4HC compression.
NONEThe type of compression to be used by RocksDB store.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

remote-store

Defines a remote cache store accessed via HotRod. Deprecated: Please define stores under the persistence element.

NameTypeDefaultDescription
cachestringThe name of the remote cache. If undefined, the default cache will be used.
socket-timeoutlong60000 Enable/disable SO_TIMEOUT on socket connections to remote Hot Rod servers with the specified timeout, in milliseconds. A timeout of zero is interpreted as an infinite timeout.
tcp-no-delaybooleantrue Enable/disable TCP_NODELAY on socket connections to remote Hot Rod servers.
hotrod-wrappingbooleanfalse Ensures that, when entries are retrieved from the remote store, they will be wrapped in a format suitable for serving via HotRod. This flag must be enabled when performing a rolling upgrade
raw-valuesbooleanfalse Enables the storage of data on the remote server in "raw" format as opposed to wrapping the entries in InternalCacheEntry. This will make the remote cache interoperable between direct RemoteCacheManager clients and RemoteCacheStore stores
protocol-versionstring This property defines the protocol version that this client should use.

remote-server+

NameTypeDefaultDescription
outbound-socket-bindingstringAn outbound socket binding for a remote server.

authentication?

plain

Uses PLAIN authentication with the supplied credentials.
NameTypeDefaultDescription
usernamestring
passwordstring

digest

Uses DIGEST-MD5 authentication with the supplied credentials.
NameTypeDefaultDescription
usernamestring
passwordstring
realmstring
server-namestring

external

Uses EXTERNAL authentication, with credentials supplied by the encrypted transport client certificate.

encryption?

NameTypeDefaultDescription
security-realmFIXMEA security realm which supplies a truststore for identifying the remote servers. If client authentication is required, then the security realm must also provide an identity keystore.
sni-hostnameFIXMEAn optional SNI hostname for identifying the remote server.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

rest-store

Defines a remote cache store accessed via REST. Deprecated: Please define stores under the persistence element.

NameTypeDefaultDescription
append-cache-name-to-pathbooleanfalseWhether to append the name of the cache to the path.
pathstring/rest/___defaultcacheThe path portion of the URI of the remote REST endpoint.
max-content-lengthint10485760The maximum allowed content length of a POST/PUT request.

remote-server+

NameTypeDefaultDescription
outbound-socket-bindingstringAn outbound socket binding for a remote server.

connection-pool+

NameTypeDefaultDescription
buffer-sizeint8192The size of the socket buffer.
connection-timeoutint60000A connection timeout for remote cache communication.
max-connections-per-hostint4The maximum number of connections per host.
max-total-connectionsint20The maximum number of total connections.
socket-timeoutint60000A socket timeout for remote cache communication.
tcp-no-delaybooleantrueEnable/disable TCP_NODELAY on socket connections to remote Hot Rod servers.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

indexing?

Defines indexing options for cache

NameTypeDefaultDescription
index
NONEDo not index data. This is the default.
LOCALOnly index changes made locally, ignoring remote changes. This is useful if indexes are shared across a cluster to prevent redundant indexing of updates.
ALLIndex all data
PRIMARY_OWNEROnly index changes on the primary owner, regardless of it's local or remote.
NONEThe indexing mode of the cache. Defaults to NONE.
auto-configbooleanfalseWhether or not to apply automatic index configuration based on cache type

key-transformers?

Defines the Transformers used to stringify keys for indexing with Lucene

key-transformer*

Defines the Transformer to use for the specified key class
NameTypeDefaultDescription
keystring
transformerstring

indexed-entities?

Defines the indexed entity classes

indexed-entity*

Indexed entity class name

property*

Property to pass on to the indexing system

security?

Configures cache-level security.

authorization?

Configures authorization for this cache.

NameTypeDefaultDescription
enabledbooleantrue Enables authorization checks for this cache. Defaults to true if the authorization element is present.
roles Sets the valid roles required to access this cache.

invalidation-cache

Defines an INVALIDATION_* mode cache.

NameTypeDefaultDescription
mode
ASYNCEnables asynchronous mode.
SYNCEnables synchronous mode.
SYNCSets the clustered cache mode, ASYNC for asynchronous operation, or SYNC for synchronous operation.
remote-timeoutlong15000In SYNC mode, 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.
NameTypeDefaultDescription
namestringUniquely identifies this cache within its cache container.
configurationstringThe name of the cache configuration which this configuration inherits from.
batchingbooleanfalseEnables invocation batching for this cache. Defaults to false.
jndi-namestring The jndi name to which to bind this cache. If undefined, the cache will be bound to: java:jboss/infinispan/cache/container-name/cache-name
modulestring Defines the module whose class loader should be used when building this cache, if different from the enclosing cache container. Deprecated: This attribute is currently ignored and usages will cause a warning to be logged. It will be removed in next major version.
statisticsbooleanfalseDetermines whether or not the cache should collect statistics. Keep disabled for optimal performance.
statistics-availablebooleantrueIf set to false, statistics gathering cannot be enabled during runtime. Keep disabled for optimal performance.

backups?

The cross-site backup configuration.

backup+

Configures a specific site where this cache backups data.

NameTypeDefaultDescription
sitestringName of the remote site where this cache backups data.
strategy
ASYNCEnables asynchronous mode.
SYNCEnables synchronous mode.
ASYNCThe strategy used for backing up data: "SYNC" or "ASYNC". Defaults to "ASYNC"
failure-policy
IGNOREIgnore backup failures.
WARNWarn of backup failures.
FAILFail local operations when a backup failure occurs.
WARNDecides what the system would do in case of failure during backup. Defaults to "FAIL"
timeoutlong15000The timeout(millis) to be used when backing up data remotely. Defaults to 10 secs.
enabledbooleantrueIf 'false' then no data is backed up to this site. Defaults to 'true'.

take-offline?

Determines whether this backup is taken offline (ignored) after a certain number of tries.

NameTypeDefaultDescription
after-failuresint0The number of failed request operations after which this site should be taken offline. Defaults to 0 (never). A negative value would mean that the site will be taken offline after 'min-wait'.
min-waitlong0The minimal number of millis to wait before taking this site offline, even in the case 'after-failures' is reached. If smaller or equal to 0, then only 'after-failures' is considered.

state-transfer?

Configures the properties needed to transfer the state for this site.

NameTypeDefaultDescription
chunk-sizeint512 If > 0, the state will be transferred in batches of {@code chunkSize} cache entries. If <= 0, the state will be transferred in all at once. Not recommended. Defaults to 512.
timeoutlong1200000 The time (in milliseconds) to wait for the backup site acknowledge the state chunk received and applied. Default value is 20 min.
max-retriesint30 The maximum number of retries when a push state command fails. A value <= 0 (zero) mean that the command will not retry. Default value is 30.
wait-timelong2000 The waiting time (in milliseconds) between each retry. The value should be > 0 (zero). Default value is 2 seconds.

backup-for?

Configures this cache as a backup for a remote cache.

NameTypeDefaultDescription
remote-cachestring The name of the remote cache that backups data here.
remote-sitestring The name of the remote site containing the cache that backups data here.

encoding?

The cache encoding configuration.

Defines encoding for keys and values of the cache.

key?

Describes the content-type and encoding.
NameTypeDefaultDescription
media-typestring

value?

Describes the content-type and encoding.
NameTypeDefaultDescription
media-typestring

locking?

The locking configuration of the cache.

NameTypeDefaultDescription
isolation
NONENo locking isolation will be performed. This is only valid in local mode. In clustered mode, READ_COMMITTED will be used instead.
READ_UNCOMMITTEDUnsupported. Actually configures READ_COMMITTED
READ_COMMITTEDRead committed is an isolation level that guarantees that any data read is committed at the moment it is read. However, depending on the outcome of other transactions, successive reads may return different results
REPEATABLE_READRepeatable read is an isolation level that guarantees that any data read is committed at the moment it is read and that, within a transaction, successive reads will always return the same data.
SERIALIZABLEUnsupported. Actually configures REPEATABLE_READ
REPEATABLE_READSets the cache locking isolation level. Defaults to READ_COMMITTED. When using REPEATABLE_READ with optimistic locking, write skew checking will be enabled.
stripingbooleanfalseIf 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.
acquire-timeoutlong10000Maximum time to attempt a particular lock acquisition.
concurrency-levelint32Concurrency level for lock containers. Adjust this value according to the number of concurrent threads interacting with Infinispan.

transaction?

The cache transaction configuration.

NameTypeDefaultDescription
mode
NONECache will not enlist within transactions.
NON_XACache will enlist within transactions as a javax.transaction.Synchronization
NON_DURABLE_XACache will enlist within transactions as a javax.transaction.xa.XAResource, without recovery.
FULL_XACache will enlist within transactions as a javax.transaction.xa.XAResource, with recovery.
NONESets the cache transaction mode to one of NONE, NON_XA, NON_DURABLE_XA, FULL_XA.
stop-timeoutlong30000If 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.
locking
OPTIMISTICEnables Optimistic locking.
PESSIMISTICEnables Pessimistic locking.
OPTIMISTICThe locking mode for this cache, one of OPTIMISTIC or PESSIMISTIC.
notificationsbooleantrue Enables or disables triggering transactional notifications on cache listeners. By default is enabled.

memory?

The cache memory configuration.

object

Store keys and values as instance variables. Instances of byte[] will be wrapped to ensure equality.

NameTypeDefaultDescription
sizelong-1The size of the eviction cache as a long. Limits the cache to this normal by the amount of entries in the cache.
strategy
NONENever evict entries. This is the default.
MANUALEviction will be performed manually. Equivalent internally to NONE.
REMOVEEviction will be performed automatically to ensure that "older" entries are removed to make room for new entries.
EXCEPTIONEviction is not performed and instead when the container is full exceptions will prevent new entries from being written to the container. This cache must be transactional and now allow for commit optimizations that would prevent it from performing a two phase commit.
UNORDEREDDeprecated. Activates REMOVE policy.
FIFODeprecated. Activates REMOVE policy.
LRUDeprecated. Activates REMOVE policy.
LIRSDeprecated. Activates REMOVE policy.
The eviction strategy to use. This determines if eviction is even enabled or if it has a different variant.

binary

Store keys and values as byte[] instances. Key and value will be serialized to binary representations.

NameTypeDefaultDescription
sizelong-1The size of the eviction cache as a long. If the configured type is COUNT, this will be how many entries can be stored. If the configured type is MEMORY, this will be how much memory in bytes can be stored.
evictionFIXMEThe eviction type to use whether it is COUNT or MEMORY. COUNT will limit the cache based on the number of entries. MEMORY will limit the cache by how much memory the entries use
strategy
NONENever evict entries. This is the default.
MANUALEviction will be performed manually. Equivalent internally to NONE.
REMOVEEviction will be performed automatically to ensure that "older" entries are removed to make room for new entries.
EXCEPTIONEviction is not performed and instead when the container is full exceptions will prevent new entries from being written to the container. This cache must be transactional and now allow for commit optimizations that would prevent it from performing a two phase commit.
UNORDEREDDeprecated. Activates REMOVE policy.
FIFODeprecated. Activates REMOVE policy.
LRUDeprecated. Activates REMOVE policy.
LIRSDeprecated. Activates REMOVE policy.
The eviction strategy to use. This determines if eviction is even enabled or if it has a different variant.

off-heap

Store keys and values as byte[] off of the Java heap. Key and value will be serialized to binary representations and stored in native memory as to not take up Java heap. Temporary objects will be put onto Java heap temporarily until processing is completed.

NameTypeDefaultDescription
sizelong-1The size of the eviction cache as a long. If the configured type is COUNT, this will be how many entries can be stored. If the configured type is MEMORY, this will be how much memory in bytes can be stored.
evictionFIXMEThe eviction type to use whether it is COUNT or MEMORY. COUNT will limit the cache based on the number of entries. MEMORY will limit the cache by how much memory the entries use
strategy
NONENever evict entries. This is the default.
MANUALEviction will be performed manually. Equivalent internally to NONE.
REMOVEEviction will be performed automatically to ensure that "older" entries are removed to make room for new entries.
EXCEPTIONEviction is not performed and instead when the container is full exceptions will prevent new entries from being written to the container. This cache must be transactional and now allow for commit optimizations that would prevent it from performing a two phase commit.
UNORDEREDDeprecated. Activates REMOVE policy.
FIFODeprecated. Activates REMOVE policy.
LRUDeprecated. Activates REMOVE policy.
LIRSDeprecated. Activates REMOVE policy.
The eviction strategy to use. This determines if eviction is even enabled or if it has a different variant.
address-countint1048576How many address pointers to use. For optimal performance you will want more address pointers than you expect to have entries. This is similar to the size of an array backing a hash map. Without collisions lookups and writes will be constant time. Each pointer will take up 8 bytes of memory thus the default will use 8 MB of off heap memory.

expiration?

The cache expiration configuration.

NameTypeDefaultDescription
max-idlelong-1Maximum 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.
lifespanlong-1Maximum lifespan of a cache entry, after which the entry is expired cluster-wide, in milliseconds. -1 means the entries never expire.
intervallong60000Interval (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 interval to -1.

persistence?

The cache persistence configuration where cache stores/loaders should be configured.

NameTypeDefaultDescription
passivationbooleanfalse If true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. This gives you the ability to 'overflow' to disk, similar to swapping in an operating system. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Defaults to false.
connection-attemptsint10 The maximum number of unsuccessful attempts to start each of the configured CacheWriter/CacheLoader before an exception is thrown and the cache fails to start.
connection-intervalint50 The time, in milliseconds, to wait between subsequent connection attempts on startup. A negative or zero value means no wait between connection attempts.
availability-intervalint1000 The time, in milliseconds, between availability checks to determine if the PersistenceManager is available. In other words, this interval sets how often stores/loaders are polled via their `org.infinispan.persistence.spi.CacheWriter#isAvailable` or `org.infinispan.persistence.spi.CacheLoader#isAvailable` implementation. If a single store/loader is not available, an exception is thrown during cache operations.

cluster-loader

Defines a cluster cache loader.

NameTypeDefaultDescription
remote-timeoutlongThe timeout when performing remote calls.
NameTypeDefaultDescription
namestringUniquely identifies this loader.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.

property*

A cache loader property with name and value.

store

Defines a custom cache store.

NameTypeDefaultDescription
classstringThe class name of the cache store implementation.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

loader

Defines a custom cache loader.

NameTypeDefaultDescription
classstringThe class name of the cache loader implementation.
NameTypeDefaultDescription
namestringUniquely identifies this loader.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.

property*

A cache loader property with name and value.

file-store

Defines a file-based cache store.

NameTypeDefaultDescription
max-entriesint Sets the maximum number of in-memory mappings between keys and their position in the store. Normally this is unlimited, but to avoid excess memory usage, an upper bound can be configured. If this limit is exceeded, entries are removed permanently using the LRU algorithm both from the in-memory index and the underlying file based cache store. Warning: setting this value may cause data loss.
relative-tostringjboss.server.data.dirThe base directory in which to store the cache state.
pathstring The path within "relative-to" in which to store the cache state. If undefined, the path defaults to the cache container name.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

string-keyed-jdbc-store

Defines a database cache store accessed via JDBC using string-based keys.

string-keyed-table?

Defines the table used to store cache entries.

NameTypeDefaultDescription
prefixstringispn_entryDefines the prefix prepended to the cache name used when composing the name of the cache entry table.
NameTypeDefaultDescription
fetch-sizeint100The fetch size used when querying from this table. Used to avoid heap memory exhaustion when query is large.
batch-sizeint100The statement batch size used when modifying this table.
create-on-startbooleantrueDetermines whether database tables should be created by the store on startup.
drop-on-exitbooleanfalseDetermines whether database tables should be dropped by the store on shutdown.

id-column?

Defines the column in which to store the cache key or bucket id.

NameTypeDefaultDescription
namestringidThe name of the column used to store the cache key or bucket id.
typestringVARCHARThe type of the column used to store the cache key or bucket id.

data-column?

Defines the column in which to store the cache entry or bucket.

NameTypeDefaultDescription
namestringdatumThe name of the column used to store the cache entry or bucket.
typestringBINARYThe type of the column used to store the cache entry or bucket.

timestamp-column?

Defines the column in which to store the timestamp of the cache entry or bucket.

NameTypeDefaultDescription
namestringversionThe name of the column used to store the cache entry or bucket timestamp.
typestringBIGINTThe type of the column used to store the cache entry or bucket timestamp.
NameTypeDefaultDescription
datasourcestringDefines the jndi name of the datasource.
dialect
ACCESS
DB2
DB2_390
DERBY
FIREBIRD
H2
HSQL
INFORMIX
INTERBASE
MARIA_DB
MYSQL
ORACLE
POSTGRES
SQL_SERVER
SQLITE
SYBASE
Defines the JDBC dialect.
db-major-versionnonNegativeIntegerDefines the major version of the database.
db-minor-versionnonNegativeIntegerDefines the minor version of the database.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

rocksdb-store

Defines a RocksDB cache store.

NameTypeDefaultDescription
relative-tostringjboss.server.data.dirThe base directory in which to store the cache state.
pathstring The path within "relative-to" in which to store the cache state. If undefined, the path defaults to the cache container name.
block-sizeintegerCache store block size.
cache-sizelongCache size for the cache store.
clear-thresholdintegerCache store cache clear threshold.

expiration?

Defines the expiration settings for the RocksDB cache store.

NameTypeDefaultDescription
pathstringThe base directory in which to store expired cache state.
queue-sizeinteger10000Expired entry queue size.

compression?

Defines the data compression to use in the RocksDB store.

NameTypeDefaultDescription
type
NONENo compression.
SNAPPYSnappy compression.
ZLIBZLib compression.
BZLIB2BZLib 2 compression.
LZ4LZ4 compression.
LZ4HCLZ4HC compression.
NONEThe type of compression to be used by RocksDB store.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

remote-store

Defines a remote cache store accessed via HotRod.

NameTypeDefaultDescription
cachestringThe name of the remote cache. If undefined, the default cache will be used.
socket-timeoutlong60000 Enable/disable SO_TIMEOUT on socket connections to remote Hot Rod servers with the specified timeout, in milliseconds. A timeout of zero is interpreted as an infinite timeout.
tcp-no-delaybooleantrue Enable/disable TCP_NODELAY on socket connections to remote Hot Rod servers.
hotrod-wrappingbooleanfalse Ensures that, when entries are retrieved from the remote store, they will be wrapped in a format suitable for serving via HotRod. This flag must be enabled when performing a rolling upgrade
raw-valuesbooleanfalse Enables the storage of data on the remote server in "raw" format as opposed to wrapping the entries in InternalCacheEntry. This will make the remote cache interoperable between direct RemoteCacheManager clients and RemoteCacheStore stores
protocol-versionstring This property defines the protocol version that this client should use.

remote-server+

NameTypeDefaultDescription
outbound-socket-bindingstringAn outbound socket binding for a remote server.

authentication?

plain

Uses PLAIN authentication with the supplied credentials.
NameTypeDefaultDescription
usernamestring
passwordstring

digest

Uses DIGEST-MD5 authentication with the supplied credentials.
NameTypeDefaultDescription
usernamestring
passwordstring
realmstring
server-namestring

external

Uses EXTERNAL authentication, with credentials supplied by the encrypted transport client certificate.

encryption?

NameTypeDefaultDescription
security-realmFIXMEA security realm which supplies a truststore for identifying the remote servers. If client authentication is required, then the security realm must also provide an identity keystore.
sni-hostnameFIXMEAn optional SNI hostname for identifying the remote server.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

rest-store

Defines a remote cache store accessed via REST.

NameTypeDefaultDescription
append-cache-name-to-pathbooleanfalseWhether to append the name of the cache to the path.
pathstring/rest/___defaultcacheThe path portion of the URI of the remote REST endpoint.
max-content-lengthint10485760The maximum allowed content length of a POST/PUT request.

remote-server+

NameTypeDefaultDescription
outbound-socket-bindingstringAn outbound socket binding for a remote server.

connection-pool+

NameTypeDefaultDescription
buffer-sizeint8192The size of the socket buffer.
connection-timeoutint60000A connection timeout for remote cache communication.
max-connections-per-hostint4The maximum number of connections per host.
max-total-connectionsint20The maximum number of total connections.
socket-timeoutint60000A socket timeout for remote cache communication.
tcp-no-delaybooleantrueEnable/disable TCP_NODELAY on socket connections to remote Hot Rod servers.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

soft-index-file-store

Defines a soft-index file store.

NameTypeDefaultDescription
open-files-limitint1000 Max number of data files opened for reading (current log file, compaction output and index segments are not included here).
compaction-thresholddouble0.5 If amount of unused space in some data file gets above this threshold, the file is compacted - entries from that file are copied to a new file and the old file is deleted.

data?

Configure where and how should be the entries stored - this is the persistent location.
NameTypeDefaultDescription
pathstringjboss.server.data.dir A location on disk where the store writes entries. Files are written sequentially, reads are random.
max-file-sizeint16777216 Max size of single file with entries, in bytes.
sync-writesbooleanfalse If true, the write is confirmed only after the entry is fsynced on disk.

index?

Configure where and how should be the index stored.
NameTypeDefaultDescription
pathstringjboss.server.data.dir A location where the store keeps index - this does not have to be persistent across restarts, and SSD storage is recommended (the index is accessed randomly).
segmentsint3 Number of index segment files. Increasing this value improves throughput but requires more threads to be spawned.
max-queue-lengthint1000 Max number of entry writes that are waiting to be written to the index, per index segment.
max-node-sizeint4096 Max size of node (continuous block on filesystem used in index implementation), in bytes.
min-node-sizeint0 If the size of node (continuous block on filesystem used in index implementation) drops below this threshold, the node will try to balance its size with some neighbour node, possibly causing join of multiple nodes.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

cluster-loader

Defines a cluster cache loader. Deprecated: Please define loaders under the persistence element.

NameTypeDefaultDescription
remote-timeoutlongThe timeout when performing remote calls.
NameTypeDefaultDescription
namestringUniquely identifies this loader.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.

property*

A cache loader property with name and value.

store

Defines a custom cache store. Deprecated: Please define stores under the persistence element.

NameTypeDefaultDescription
classstringThe class name of the cache store implementation.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

loader

Defines a custom cache loader. Deprecated: Please define loaders under the persistence element.

NameTypeDefaultDescription
classstringThe class name of the cache loader implementation.
NameTypeDefaultDescription
namestringUniquely identifies this loader.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.

property*

A cache loader property with name and value.

file-store

Defines a file-based cache store. Deprecated: Please define stores under the persistence element.

NameTypeDefaultDescription
max-entriesint Sets the maximum number of in-memory mappings between keys and their position in the store. Normally this is unlimited, but to avoid excess memory usage, an upper bound can be configured. If this limit is exceeded, entries are removed permanently using the LRU algorithm both from the in-memory index and the underlying file based cache store. Warning: setting this value may cause data loss.
relative-tostringjboss.server.data.dirThe base directory in which to store the cache state.
pathstring The path within "relative-to" in which to store the cache state. If undefined, the path defaults to the cache container name.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

string-keyed-jdbc-store

Defines a database cache store accessed via JDBC using string-based keys. Deprecated: Please define stores under the persistence element.

string-keyed-table?

Defines the table used to store cache entries.

NameTypeDefaultDescription
prefixstringispn_entryDefines the prefix prepended to the cache name used when composing the name of the cache entry table.
NameTypeDefaultDescription
fetch-sizeint100The fetch size used when querying from this table. Used to avoid heap memory exhaustion when query is large.
batch-sizeint100The statement batch size used when modifying this table.
create-on-startbooleantrueDetermines whether database tables should be created by the store on startup.
drop-on-exitbooleanfalseDetermines whether database tables should be dropped by the store on shutdown.

id-column?

Defines the column in which to store the cache key or bucket id.

NameTypeDefaultDescription
namestringidThe name of the column used to store the cache key or bucket id.
typestringVARCHARThe type of the column used to store the cache key or bucket id.

data-column?

Defines the column in which to store the cache entry or bucket.

NameTypeDefaultDescription
namestringdatumThe name of the column used to store the cache entry or bucket.
typestringBINARYThe type of the column used to store the cache entry or bucket.

timestamp-column?

Defines the column in which to store the timestamp of the cache entry or bucket.

NameTypeDefaultDescription
namestringversionThe name of the column used to store the cache entry or bucket timestamp.
typestringBIGINTThe type of the column used to store the cache entry or bucket timestamp.
NameTypeDefaultDescription
datasourcestringDefines the jndi name of the datasource.
dialect
ACCESS
DB2
DB2_390
DERBY
FIREBIRD
H2
HSQL
INFORMIX
INTERBASE
MARIA_DB
MYSQL
ORACLE
POSTGRES
SQL_SERVER
SQLITE
SYBASE
Defines the JDBC dialect.
db-major-versionnonNegativeIntegerDefines the major version of the database.
db-minor-versionnonNegativeIntegerDefines the minor version of the database.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

rocksdb-store

Defines a RocksDB cache store. Deprecated: Please define stores under the persistence element.

NameTypeDefaultDescription
relative-tostringjboss.server.data.dirThe base directory in which to store the cache state.
pathstring The path within "relative-to" in which to store the cache state. If undefined, the path defaults to the cache container name.
block-sizeintegerCache store block size.
cache-sizelongCache size for the cache store.
clear-thresholdintegerCache store cache clear threshold.

expiration?

Defines the expiration settings for the RocksDB cache store.

NameTypeDefaultDescription
pathstringThe base directory in which to store expired cache state.
queue-sizeinteger10000Expired entry queue size.

compression?

Defines the data compression to use in the RocksDB store.

NameTypeDefaultDescription
type
NONENo compression.
SNAPPYSnappy compression.
ZLIBZLib compression.
BZLIB2BZLib 2 compression.
LZ4LZ4 compression.
LZ4HCLZ4HC compression.
NONEThe type of compression to be used by RocksDB store.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

remote-store

Defines a remote cache store accessed via HotRod. Deprecated: Please define stores under the persistence element.

NameTypeDefaultDescription
cachestringThe name of the remote cache. If undefined, the default cache will be used.
socket-timeoutlong60000 Enable/disable SO_TIMEOUT on socket connections to remote Hot Rod servers with the specified timeout, in milliseconds. A timeout of zero is interpreted as an infinite timeout.
tcp-no-delaybooleantrue Enable/disable TCP_NODELAY on socket connections to remote Hot Rod servers.
hotrod-wrappingbooleanfalse Ensures that, when entries are retrieved from the remote store, they will be wrapped in a format suitable for serving via HotRod. This flag must be enabled when performing a rolling upgrade
raw-valuesbooleanfalse Enables the storage of data on the remote server in "raw" format as opposed to wrapping the entries in InternalCacheEntry. This will make the remote cache interoperable between direct RemoteCacheManager clients and RemoteCacheStore stores
protocol-versionstring This property defines the protocol version that this client should use.

remote-server+

NameTypeDefaultDescription
outbound-socket-bindingstringAn outbound socket binding for a remote server.

authentication?

plain

Uses PLAIN authentication with the supplied credentials.
NameTypeDefaultDescription
usernamestring
passwordstring

digest

Uses DIGEST-MD5 authentication with the supplied credentials.
NameTypeDefaultDescription
usernamestring
passwordstring
realmstring
server-namestring

external

Uses EXTERNAL authentication, with credentials supplied by the encrypted transport client certificate.

encryption?

NameTypeDefaultDescription
security-realmFIXMEA security realm which supplies a truststore for identifying the remote servers. If client authentication is required, then the security realm must also provide an identity keystore.
sni-hostnameFIXMEAn optional SNI hostname for identifying the remote server.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

rest-store

Defines a remote cache store accessed via REST. Deprecated: Please define stores under the persistence element.

NameTypeDefaultDescription
append-cache-name-to-pathbooleanfalseWhether to append the name of the cache to the path.
pathstring/rest/___defaultcacheThe path portion of the URI of the remote REST endpoint.
max-content-lengthint10485760The maximum allowed content length of a POST/PUT request.

remote-server+

NameTypeDefaultDescription
outbound-socket-bindingstringAn outbound socket binding for a remote server.

connection-pool+

NameTypeDefaultDescription
buffer-sizeint8192The size of the socket buffer.
connection-timeoutint60000A connection timeout for remote cache communication.
max-connections-per-hostint4The maximum number of connections per host.
max-total-connectionsint20The maximum number of total connections.
socket-timeoutint60000A socket timeout for remote cache communication.
tcp-no-delaybooleantrueEnable/disable TCP_NODELAY on socket connections to remote Hot Rod servers.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

indexing?

Defines indexing options for cache

NameTypeDefaultDescription
index
NONEDo not index data. This is the default.
LOCALOnly index changes made locally, ignoring remote changes. This is useful if indexes are shared across a cluster to prevent redundant indexing of updates.
ALLIndex all data
PRIMARY_OWNEROnly index changes on the primary owner, regardless of it's local or remote.
NONEThe indexing mode of the cache. Defaults to NONE.
auto-configbooleanfalseWhether or not to apply automatic index configuration based on cache type

key-transformers?

Defines the Transformers used to stringify keys for indexing with Lucene

key-transformer*

Defines the Transformer to use for the specified key class
NameTypeDefaultDescription
keystring
transformerstring

indexed-entities?

Defines the indexed entity classes

indexed-entity*

Indexed entity class name

property*

Property to pass on to the indexing system

security?

Configures cache-level security.

authorization?

Configures authorization for this cache.

NameTypeDefaultDescription
enabledbooleantrue Enables authorization checks for this cache. Defaults to true if the authorization element is present.
roles Sets the valid roles required to access this cache.

distributed-cache-configuration

Defines a DIST_* mode cache configuration.

NameTypeDefaultDescription
ownersint2Number of cluster-wide replicas for each cache entry.
segmentsint256Number of hash space segments (per cluster). The recommended value is 10 * cluster size. The default value is 80
capacity-factordouble1.0Controls the proportion of entries that will reside on the local node, compared to the other nodes in the cluster. Value must be positive. The default is 1
l1-lifespanlong0Maximum lifespan in milliseconds of an entry placed in the L1 cache. Defaults to 0 which means L1 is disabled.

state-transfer?

The state transfer configuration for distribution and replicated caches.

NameTypeDefaultDescription
enabledbooleantrueIf enabled, 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.
timeoutlong240000The maximum amount of time (ms) to wait for state from neighboring caches, before throwing an exception and aborting startup.
chunk-sizeinteger512The number of cache entries to batch in each transfer.
await-initial-transferbooleantrueIf enabled, this will cause the cache to wait for initial state transfer to complete before responding to requests.

partition-handling?

The partition handling configuration for distribution and replicated caches.

NameTypeDefaultDescription
enabledbooleanDeprecated, use type instead. If enabled, the cache will enter degraded mode when it loses too many nodes.
when-split
DENY_READ_WRITESIf the partition does not have all owners for a given segment, both reads and writes are denied for all keys in that segment.
ALLOW_READSAllows reads for a given key if it exists in this partition, but only allows writes if this partition contains all owners of a segment.
ALLOW_READ_WRITESAllow entries on each partition to diverge, with conflicts resolved during merge.
ALLOW_READ_WRITESThe type of actions that are possible when a split brain scenario is encountered.
merge-policyNONEThe entry merge policy which should be applied on partition merges.
NameTypeDefaultDescription
mode
ASYNCEnables asynchronous mode.
SYNCEnables synchronous mode.
SYNCSets the clustered cache mode, ASYNC for asynchronous operation, or SYNC for synchronous operation.
remote-timeoutlong15000In SYNC mode, 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.
NameTypeDefaultDescription
namestringUniquely identifies this cache within its cache container.
configurationstringThe name of the cache configuration which this configuration inherits from.
batchingbooleanfalseEnables invocation batching for this cache. Defaults to false.
jndi-namestring The jndi name to which to bind this cache. If undefined, the cache will be bound to: java:jboss/infinispan/cache/container-name/cache-name
modulestring Defines the module whose class loader should be used when building this cache, if different from the enclosing cache container. Deprecated: This attribute is currently ignored and usages will cause a warning to be logged. It will be removed in next major version.
statisticsbooleanfalseDetermines whether or not the cache should collect statistics. Keep disabled for optimal performance.
statistics-availablebooleantrueIf set to false, statistics gathering cannot be enabled during runtime. Keep disabled for optimal performance.

backups?

The cross-site backup configuration.

backup+

Configures a specific site where this cache backups data.

NameTypeDefaultDescription
sitestringName of the remote site where this cache backups data.
strategy
ASYNCEnables asynchronous mode.
SYNCEnables synchronous mode.
ASYNCThe strategy used for backing up data: "SYNC" or "ASYNC". Defaults to "ASYNC"
failure-policy
IGNOREIgnore backup failures.
WARNWarn of backup failures.
FAILFail local operations when a backup failure occurs.
WARNDecides what the system would do in case of failure during backup. Defaults to "FAIL"
timeoutlong15000The timeout(millis) to be used when backing up data remotely. Defaults to 10 secs.
enabledbooleantrueIf 'false' then no data is backed up to this site. Defaults to 'true'.

take-offline?

Determines whether this backup is taken offline (ignored) after a certain number of tries.

NameTypeDefaultDescription
after-failuresint0The number of failed request operations after which this site should be taken offline. Defaults to 0 (never). A negative value would mean that the site will be taken offline after 'min-wait'.
min-waitlong0The minimal number of millis to wait before taking this site offline, even in the case 'after-failures' is reached. If smaller or equal to 0, then only 'after-failures' is considered.

state-transfer?

Configures the properties needed to transfer the state for this site.

NameTypeDefaultDescription
chunk-sizeint512 If > 0, the state will be transferred in batches of {@code chunkSize} cache entries. If <= 0, the state will be transferred in all at once. Not recommended. Defaults to 512.
timeoutlong1200000 The time (in milliseconds) to wait for the backup site acknowledge the state chunk received and applied. Default value is 20 min.
max-retriesint30 The maximum number of retries when a push state command fails. A value <= 0 (zero) mean that the command will not retry. Default value is 30.
wait-timelong2000 The waiting time (in milliseconds) between each retry. The value should be > 0 (zero). Default value is 2 seconds.

backup-for?

Configures this cache as a backup for a remote cache.

NameTypeDefaultDescription
remote-cachestring The name of the remote cache that backups data here.
remote-sitestring The name of the remote site containing the cache that backups data here.

encoding?

The cache encoding configuration.

Defines encoding for keys and values of the cache.

key?

Describes the content-type and encoding.
NameTypeDefaultDescription
media-typestring

value?

Describes the content-type and encoding.
NameTypeDefaultDescription
media-typestring

locking?

The locking configuration of the cache.

NameTypeDefaultDescription
isolation
NONENo locking isolation will be performed. This is only valid in local mode. In clustered mode, READ_COMMITTED will be used instead.
READ_UNCOMMITTEDUnsupported. Actually configures READ_COMMITTED
READ_COMMITTEDRead committed is an isolation level that guarantees that any data read is committed at the moment it is read. However, depending on the outcome of other transactions, successive reads may return different results
REPEATABLE_READRepeatable read is an isolation level that guarantees that any data read is committed at the moment it is read and that, within a transaction, successive reads will always return the same data.
SERIALIZABLEUnsupported. Actually configures REPEATABLE_READ
REPEATABLE_READSets the cache locking isolation level. Defaults to READ_COMMITTED. When using REPEATABLE_READ with optimistic locking, write skew checking will be enabled.
stripingbooleanfalseIf 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.
acquire-timeoutlong10000Maximum time to attempt a particular lock acquisition.
concurrency-levelint32Concurrency level for lock containers. Adjust this value according to the number of concurrent threads interacting with Infinispan.

transaction?

The cache transaction configuration.

NameTypeDefaultDescription
mode
NONECache will not enlist within transactions.
NON_XACache will enlist within transactions as a javax.transaction.Synchronization
NON_DURABLE_XACache will enlist within transactions as a javax.transaction.xa.XAResource, without recovery.
FULL_XACache will enlist within transactions as a javax.transaction.xa.XAResource, with recovery.
NONESets the cache transaction mode to one of NONE, NON_XA, NON_DURABLE_XA, FULL_XA.
stop-timeoutlong30000If 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.
locking
OPTIMISTICEnables Optimistic locking.
PESSIMISTICEnables Pessimistic locking.
OPTIMISTICThe locking mode for this cache, one of OPTIMISTIC or PESSIMISTIC.
notificationsbooleantrue Enables or disables triggering transactional notifications on cache listeners. By default is enabled.

memory?

The cache memory configuration.

object

Store keys and values as instance variables. Instances of byte[] will be wrapped to ensure equality.

NameTypeDefaultDescription
sizelong-1The size of the eviction cache as a long. Limits the cache to this normal by the amount of entries in the cache.
strategy
NONENever evict entries. This is the default.
MANUALEviction will be performed manually. Equivalent internally to NONE.
REMOVEEviction will be performed automatically to ensure that "older" entries are removed to make room for new entries.
EXCEPTIONEviction is not performed and instead when the container is full exceptions will prevent new entries from being written to the container. This cache must be transactional and now allow for commit optimizations that would prevent it from performing a two phase commit.
UNORDEREDDeprecated. Activates REMOVE policy.
FIFODeprecated. Activates REMOVE policy.
LRUDeprecated. Activates REMOVE policy.
LIRSDeprecated. Activates REMOVE policy.
The eviction strategy to use. This determines if eviction is even enabled or if it has a different variant.

binary

Store keys and values as byte[] instances. Key and value will be serialized to binary representations.

NameTypeDefaultDescription
sizelong-1The size of the eviction cache as a long. If the configured type is COUNT, this will be how many entries can be stored. If the configured type is MEMORY, this will be how much memory in bytes can be stored.
evictionFIXMEThe eviction type to use whether it is COUNT or MEMORY. COUNT will limit the cache based on the number of entries. MEMORY will limit the cache by how much memory the entries use
strategy
NONENever evict entries. This is the default.
MANUALEviction will be performed manually. Equivalent internally to NONE.
REMOVEEviction will be performed automatically to ensure that "older" entries are removed to make room for new entries.
EXCEPTIONEviction is not performed and instead when the container is full exceptions will prevent new entries from being written to the container. This cache must be transactional and now allow for commit optimizations that would prevent it from performing a two phase commit.
UNORDEREDDeprecated. Activates REMOVE policy.
FIFODeprecated. Activates REMOVE policy.
LRUDeprecated. Activates REMOVE policy.
LIRSDeprecated. Activates REMOVE policy.
The eviction strategy to use. This determines if eviction is even enabled or if it has a different variant.

off-heap

Store keys and values as byte[] off of the Java heap. Key and value will be serialized to binary representations and stored in native memory as to not take up Java heap. Temporary objects will be put onto Java heap temporarily until processing is completed.

NameTypeDefaultDescription
sizelong-1The size of the eviction cache as a long. If the configured type is COUNT, this will be how many entries can be stored. If the configured type is MEMORY, this will be how much memory in bytes can be stored.
evictionFIXMEThe eviction type to use whether it is COUNT or MEMORY. COUNT will limit the cache based on the number of entries. MEMORY will limit the cache by how much memory the entries use
strategy
NONENever evict entries. This is the default.
MANUALEviction will be performed manually. Equivalent internally to NONE.
REMOVEEviction will be performed automatically to ensure that "older" entries are removed to make room for new entries.
EXCEPTIONEviction is not performed and instead when the container is full exceptions will prevent new entries from being written to the container. This cache must be transactional and now allow for commit optimizations that would prevent it from performing a two phase commit.
UNORDEREDDeprecated. Activates REMOVE policy.
FIFODeprecated. Activates REMOVE policy.
LRUDeprecated. Activates REMOVE policy.
LIRSDeprecated. Activates REMOVE policy.
The eviction strategy to use. This determines if eviction is even enabled or if it has a different variant.
address-countint1048576How many address pointers to use. For optimal performance you will want more address pointers than you expect to have entries. This is similar to the size of an array backing a hash map. Without collisions lookups and writes will be constant time. Each pointer will take up 8 bytes of memory thus the default will use 8 MB of off heap memory.

expiration?

The cache expiration configuration.

NameTypeDefaultDescription
max-idlelong-1Maximum 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.
lifespanlong-1Maximum lifespan of a cache entry, after which the entry is expired cluster-wide, in milliseconds. -1 means the entries never expire.
intervallong60000Interval (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 interval to -1.

persistence?

The cache persistence configuration where cache stores/loaders should be configured.

NameTypeDefaultDescription
passivationbooleanfalse If true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. This gives you the ability to 'overflow' to disk, similar to swapping in an operating system. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Defaults to false.
connection-attemptsint10 The maximum number of unsuccessful attempts to start each of the configured CacheWriter/CacheLoader before an exception is thrown and the cache fails to start.
connection-intervalint50 The time, in milliseconds, to wait between subsequent connection attempts on startup. A negative or zero value means no wait between connection attempts.
availability-intervalint1000 The time, in milliseconds, between availability checks to determine if the PersistenceManager is available. In other words, this interval sets how often stores/loaders are polled via their `org.infinispan.persistence.spi.CacheWriter#isAvailable` or `org.infinispan.persistence.spi.CacheLoader#isAvailable` implementation. If a single store/loader is not available, an exception is thrown during cache operations.

cluster-loader

Defines a cluster cache loader.

NameTypeDefaultDescription
remote-timeoutlongThe timeout when performing remote calls.
NameTypeDefaultDescription
namestringUniquely identifies this loader.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.

property*

A cache loader property with name and value.

store

Defines a custom cache store.

NameTypeDefaultDescription
classstringThe class name of the cache store implementation.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

loader

Defines a custom cache loader.

NameTypeDefaultDescription
classstringThe class name of the cache loader implementation.
NameTypeDefaultDescription
namestringUniquely identifies this loader.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.

property*

A cache loader property with name and value.

file-store

Defines a file-based cache store.

NameTypeDefaultDescription
max-entriesint Sets the maximum number of in-memory mappings between keys and their position in the store. Normally this is unlimited, but to avoid excess memory usage, an upper bound can be configured. If this limit is exceeded, entries are removed permanently using the LRU algorithm both from the in-memory index and the underlying file based cache store. Warning: setting this value may cause data loss.
relative-tostringjboss.server.data.dirThe base directory in which to store the cache state.
pathstring The path within "relative-to" in which to store the cache state. If undefined, the path defaults to the cache container name.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

string-keyed-jdbc-store

Defines a database cache store accessed via JDBC using string-based keys.

string-keyed-table?

Defines the table used to store cache entries.

NameTypeDefaultDescription
prefixstringispn_entryDefines the prefix prepended to the cache name used when composing the name of the cache entry table.
NameTypeDefaultDescription
fetch-sizeint100The fetch size used when querying from this table. Used to avoid heap memory exhaustion when query is large.
batch-sizeint100The statement batch size used when modifying this table.
create-on-startbooleantrueDetermines whether database tables should be created by the store on startup.
drop-on-exitbooleanfalseDetermines whether database tables should be dropped by the store on shutdown.

id-column?

Defines the column in which to store the cache key or bucket id.

NameTypeDefaultDescription
namestringidThe name of the column used to store the cache key or bucket id.
typestringVARCHARThe type of the column used to store the cache key or bucket id.

data-column?

Defines the column in which to store the cache entry or bucket.

NameTypeDefaultDescription
namestringdatumThe name of the column used to store the cache entry or bucket.
typestringBINARYThe type of the column used to store the cache entry or bucket.

timestamp-column?

Defines the column in which to store the timestamp of the cache entry or bucket.

NameTypeDefaultDescription
namestringversionThe name of the column used to store the cache entry or bucket timestamp.
typestringBIGINTThe type of the column used to store the cache entry or bucket timestamp.
NameTypeDefaultDescription
datasourcestringDefines the jndi name of the datasource.
dialect
ACCESS
DB2
DB2_390
DERBY
FIREBIRD
H2
HSQL
INFORMIX
INTERBASE
MARIA_DB
MYSQL
ORACLE
POSTGRES
SQL_SERVER
SQLITE
SYBASE
Defines the JDBC dialect.
db-major-versionnonNegativeIntegerDefines the major version of the database.
db-minor-versionnonNegativeIntegerDefines the minor version of the database.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

rocksdb-store

Defines a RocksDB cache store.

NameTypeDefaultDescription
relative-tostringjboss.server.data.dirThe base directory in which to store the cache state.
pathstring The path within "relative-to" in which to store the cache state. If undefined, the path defaults to the cache container name.
block-sizeintegerCache store block size.
cache-sizelongCache size for the cache store.
clear-thresholdintegerCache store cache clear threshold.

expiration?

Defines the expiration settings for the RocksDB cache store.

NameTypeDefaultDescription
pathstringThe base directory in which to store expired cache state.
queue-sizeinteger10000Expired entry queue size.

compression?

Defines the data compression to use in the RocksDB store.

NameTypeDefaultDescription
type
NONENo compression.
SNAPPYSnappy compression.
ZLIBZLib compression.
BZLIB2BZLib 2 compression.
LZ4LZ4 compression.
LZ4HCLZ4HC compression.
NONEThe type of compression to be used by RocksDB store.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

remote-store

Defines a remote cache store accessed via HotRod.

NameTypeDefaultDescription
cachestringThe name of the remote cache. If undefined, the default cache will be used.
socket-timeoutlong60000 Enable/disable SO_TIMEOUT on socket connections to remote Hot Rod servers with the specified timeout, in milliseconds. A timeout of zero is interpreted as an infinite timeout.
tcp-no-delaybooleantrue Enable/disable TCP_NODELAY on socket connections to remote Hot Rod servers.
hotrod-wrappingbooleanfalse Ensures that, when entries are retrieved from the remote store, they will be wrapped in a format suitable for serving via HotRod. This flag must be enabled when performing a rolling upgrade
raw-valuesbooleanfalse Enables the storage of data on the remote server in "raw" format as opposed to wrapping the entries in InternalCacheEntry. This will make the remote cache interoperable between direct RemoteCacheManager clients and RemoteCacheStore stores
protocol-versionstring This property defines the protocol version that this client should use.

remote-server+

NameTypeDefaultDescription
outbound-socket-bindingstringAn outbound socket binding for a remote server.

authentication?

plain

Uses PLAIN authentication with the supplied credentials.
NameTypeDefaultDescription
usernamestring
passwordstring

digest

Uses DIGEST-MD5 authentication with the supplied credentials.
NameTypeDefaultDescription
usernamestring
passwordstring
realmstring
server-namestring

external

Uses EXTERNAL authentication, with credentials supplied by the encrypted transport client certificate.

encryption?

NameTypeDefaultDescription
security-realmFIXMEA security realm which supplies a truststore for identifying the remote servers. If client authentication is required, then the security realm must also provide an identity keystore.
sni-hostnameFIXMEAn optional SNI hostname for identifying the remote server.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

rest-store

Defines a remote cache store accessed via REST.

NameTypeDefaultDescription
append-cache-name-to-pathbooleanfalseWhether to append the name of the cache to the path.
pathstring/rest/___defaultcacheThe path portion of the URI of the remote REST endpoint.
max-content-lengthint10485760The maximum allowed content length of a POST/PUT request.

remote-server+

NameTypeDefaultDescription
outbound-socket-bindingstringAn outbound socket binding for a remote server.

connection-pool+

NameTypeDefaultDescription
buffer-sizeint8192The size of the socket buffer.
connection-timeoutint60000A connection timeout for remote cache communication.
max-connections-per-hostint4The maximum number of connections per host.
max-total-connectionsint20The maximum number of total connections.
socket-timeoutint60000A socket timeout for remote cache communication.
tcp-no-delaybooleantrueEnable/disable TCP_NODELAY on socket connections to remote Hot Rod servers.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

soft-index-file-store

Defines a soft-index file store.

NameTypeDefaultDescription
open-files-limitint1000 Max number of data files opened for reading (current log file, compaction output and index segments are not included here).
compaction-thresholddouble0.5 If amount of unused space in some data file gets above this threshold, the file is compacted - entries from that file are copied to a new file and the old file is deleted.

data?

Configure where and how should be the entries stored - this is the persistent location.
NameTypeDefaultDescription
pathstringjboss.server.data.dir A location on disk where the store writes entries. Files are written sequentially, reads are random.
max-file-sizeint16777216 Max size of single file with entries, in bytes.
sync-writesbooleanfalse If true, the write is confirmed only after the entry is fsynced on disk.

index?

Configure where and how should be the index stored.
NameTypeDefaultDescription
pathstringjboss.server.data.dir A location where the store keeps index - this does not have to be persistent across restarts, and SSD storage is recommended (the index is accessed randomly).
segmentsint3 Number of index segment files. Increasing this value improves throughput but requires more threads to be spawned.
max-queue-lengthint1000 Max number of entry writes that are waiting to be written to the index, per index segment.
max-node-sizeint4096 Max size of node (continuous block on filesystem used in index implementation), in bytes.
min-node-sizeint0 If the size of node (continuous block on filesystem used in index implementation) drops below this threshold, the node will try to balance its size with some neighbour node, possibly causing join of multiple nodes.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

cluster-loader

Defines a cluster cache loader. Deprecated: Please define loaders under the persistence element.

NameTypeDefaultDescription
remote-timeoutlongThe timeout when performing remote calls.
NameTypeDefaultDescription
namestringUniquely identifies this loader.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.

property*

A cache loader property with name and value.

store

Defines a custom cache store. Deprecated: Please define stores under the persistence element.

NameTypeDefaultDescription
classstringThe class name of the cache store implementation.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

loader

Defines a custom cache loader. Deprecated: Please define loaders under the persistence element.

NameTypeDefaultDescription
classstringThe class name of the cache loader implementation.
NameTypeDefaultDescription
namestringUniquely identifies this loader.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.

property*

A cache loader property with name and value.

file-store

Defines a file-based cache store. Deprecated: Please define stores under the persistence element.

NameTypeDefaultDescription
max-entriesint Sets the maximum number of in-memory mappings between keys and their position in the store. Normally this is unlimited, but to avoid excess memory usage, an upper bound can be configured. If this limit is exceeded, entries are removed permanently using the LRU algorithm both from the in-memory index and the underlying file based cache store. Warning: setting this value may cause data loss.
relative-tostringjboss.server.data.dirThe base directory in which to store the cache state.
pathstring The path within "relative-to" in which to store the cache state. If undefined, the path defaults to the cache container name.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

string-keyed-jdbc-store

Defines a database cache store accessed via JDBC using string-based keys. Deprecated: Please define stores under the persistence element.

string-keyed-table?

Defines the table used to store cache entries.

NameTypeDefaultDescription
prefixstringispn_entryDefines the prefix prepended to the cache name used when composing the name of the cache entry table.
NameTypeDefaultDescription
fetch-sizeint100The fetch size used when querying from this table. Used to avoid heap memory exhaustion when query is large.
batch-sizeint100The statement batch size used when modifying this table.
create-on-startbooleantrueDetermines whether database tables should be created by the store on startup.
drop-on-exitbooleanfalseDetermines whether database tables should be dropped by the store on shutdown.

id-column?

Defines the column in which to store the cache key or bucket id.

NameTypeDefaultDescription
namestringidThe name of the column used to store the cache key or bucket id.
typestringVARCHARThe type of the column used to store the cache key or bucket id.

data-column?

Defines the column in which to store the cache entry or bucket.

NameTypeDefaultDescription
namestringdatumThe name of the column used to store the cache entry or bucket.
typestringBINARYThe type of the column used to store the cache entry or bucket.

timestamp-column?

Defines the column in which to store the timestamp of the cache entry or bucket.

NameTypeDefaultDescription
namestringversionThe name of the column used to store the cache entry or bucket timestamp.
typestringBIGINTThe type of the column used to store the cache entry or bucket timestamp.
NameTypeDefaultDescription
datasourcestringDefines the jndi name of the datasource.
dialect
ACCESS
DB2
DB2_390
DERBY
FIREBIRD
H2
HSQL
INFORMIX
INTERBASE
MARIA_DB
MYSQL
ORACLE
POSTGRES
SQL_SERVER
SQLITE
SYBASE
Defines the JDBC dialect.
db-major-versionnonNegativeIntegerDefines the major version of the database.
db-minor-versionnonNegativeIntegerDefines the minor version of the database.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

rocksdb-store

Defines a RocksDB cache store. Deprecated: Please define stores under the persistence element.

NameTypeDefaultDescription
relative-tostringjboss.server.data.dirThe base directory in which to store the cache state.
pathstring The path within "relative-to" in which to store the cache state. If undefined, the path defaults to the cache container name.
block-sizeintegerCache store block size.
cache-sizelongCache size for the cache store.
clear-thresholdintegerCache store cache clear threshold.

expiration?

Defines the expiration settings for the RocksDB cache store.

NameTypeDefaultDescription
pathstringThe base directory in which to store expired cache state.
queue-sizeinteger10000Expired entry queue size.

compression?

Defines the data compression to use in the RocksDB store.

NameTypeDefaultDescription
type
NONENo compression.
SNAPPYSnappy compression.
ZLIBZLib compression.
BZLIB2BZLib 2 compression.
LZ4LZ4 compression.
LZ4HCLZ4HC compression.
NONEThe type of compression to be used by RocksDB store.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

remote-store

Defines a remote cache store accessed via HotRod. Deprecated: Please define stores under the persistence element.

NameTypeDefaultDescription
cachestringThe name of the remote cache. If undefined, the default cache will be used.
socket-timeoutlong60000 Enable/disable SO_TIMEOUT on socket connections to remote Hot Rod servers with the specified timeout, in milliseconds. A timeout of zero is interpreted as an infinite timeout.
tcp-no-delaybooleantrue Enable/disable TCP_NODELAY on socket connections to remote Hot Rod servers.
hotrod-wrappingbooleanfalse Ensures that, when entries are retrieved from the remote store, they will be wrapped in a format suitable for serving via HotRod. This flag must be enabled when performing a rolling upgrade
raw-valuesbooleanfalse Enables the storage of data on the remote server in "raw" format as opposed to wrapping the entries in InternalCacheEntry. This will make the remote cache interoperable between direct RemoteCacheManager clients and RemoteCacheStore stores
protocol-versionstring This property defines the protocol version that this client should use.

remote-server+

NameTypeDefaultDescription
outbound-socket-bindingstringAn outbound socket binding for a remote server.

authentication?

plain

Uses PLAIN authentication with the supplied credentials.
NameTypeDefaultDescription
usernamestring
passwordstring

digest

Uses DIGEST-MD5 authentication with the supplied credentials.
NameTypeDefaultDescription
usernamestring
passwordstring
realmstring
server-namestring

external

Uses EXTERNAL authentication, with credentials supplied by the encrypted transport client certificate.

encryption?

NameTypeDefaultDescription
security-realmFIXMEA security realm which supplies a truststore for identifying the remote servers. If client authentication is required, then the security realm must also provide an identity keystore.
sni-hostnameFIXMEAn optional SNI hostname for identifying the remote server.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

rest-store

Defines a remote cache store accessed via REST. Deprecated: Please define stores under the persistence element.

NameTypeDefaultDescription
append-cache-name-to-pathbooleanfalseWhether to append the name of the cache to the path.
pathstring/rest/___defaultcacheThe path portion of the URI of the remote REST endpoint.
max-content-lengthint10485760The maximum allowed content length of a POST/PUT request.

remote-server+

NameTypeDefaultDescription
outbound-socket-bindingstringAn outbound socket binding for a remote server.

connection-pool+

NameTypeDefaultDescription
buffer-sizeint8192The size of the socket buffer.
connection-timeoutint60000A connection timeout for remote cache communication.
max-connections-per-hostint4The maximum number of connections per host.
max-total-connectionsint20The maximum number of total connections.
socket-timeoutint60000A socket timeout for remote cache communication.
tcp-no-delaybooleantrueEnable/disable TCP_NODELAY on socket connections to remote Hot Rod servers.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

indexing?

Defines indexing options for cache

NameTypeDefaultDescription
index
NONEDo not index data. This is the default.
LOCALOnly index changes made locally, ignoring remote changes. This is useful if indexes are shared across a cluster to prevent redundant indexing of updates.
ALLIndex all data
PRIMARY_OWNEROnly index changes on the primary owner, regardless of it's local or remote.
NONEThe indexing mode of the cache. Defaults to NONE.
auto-configbooleanfalseWhether or not to apply automatic index configuration based on cache type

key-transformers?

Defines the Transformers used to stringify keys for indexing with Lucene

key-transformer*

Defines the Transformer to use for the specified key class
NameTypeDefaultDescription
keystring
transformerstring

indexed-entities?

Defines the indexed entity classes

indexed-entity*

Indexed entity class name

property*

Property to pass on to the indexing system

security?

Configures cache-level security.

authorization?

Configures authorization for this cache.

NameTypeDefaultDescription
enabledbooleantrue Enables authorization checks for this cache. Defaults to true if the authorization element is present.
roles Sets the valid roles required to access this cache.

distributed-cache

Defines a DIST_* mode cache.

NameTypeDefaultDescription
ownersint2Number of cluster-wide replicas for each cache entry.
segmentsint256Number of hash space segments (per cluster). The recommended value is 10 * cluster size. The default value is 80
capacity-factordouble1.0Controls the proportion of entries that will reside on the local node, compared to the other nodes in the cluster. Value must be positive. The default is 1
l1-lifespanlong0Maximum lifespan in milliseconds of an entry placed in the L1 cache. Defaults to 0 which means L1 is disabled.

state-transfer?

The state transfer configuration for distribution and replicated caches.

NameTypeDefaultDescription
enabledbooleantrueIf enabled, 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.
timeoutlong240000The maximum amount of time (ms) to wait for state from neighboring caches, before throwing an exception and aborting startup.
chunk-sizeinteger512The number of cache entries to batch in each transfer.
await-initial-transferbooleantrueIf enabled, this will cause the cache to wait for initial state transfer to complete before responding to requests.

partition-handling?

The partition handling configuration for distribution and replicated caches.

NameTypeDefaultDescription
enabledbooleanDeprecated, use type instead. If enabled, the cache will enter degraded mode when it loses too many nodes.
when-split
DENY_READ_WRITESIf the partition does not have all owners for a given segment, both reads and writes are denied for all keys in that segment.
ALLOW_READSAllows reads for a given key if it exists in this partition, but only allows writes if this partition contains all owners of a segment.
ALLOW_READ_WRITESAllow entries on each partition to diverge, with conflicts resolved during merge.
ALLOW_READ_WRITESThe type of actions that are possible when a split brain scenario is encountered.
merge-policyNONEThe entry merge policy which should be applied on partition merges.
NameTypeDefaultDescription
mode
ASYNCEnables asynchronous mode.
SYNCEnables synchronous mode.
SYNCSets the clustered cache mode, ASYNC for asynchronous operation, or SYNC for synchronous operation.
remote-timeoutlong15000In SYNC mode, 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.
NameTypeDefaultDescription
namestringUniquely identifies this cache within its cache container.
configurationstringThe name of the cache configuration which this configuration inherits from.
batchingbooleanfalseEnables invocation batching for this cache. Defaults to false.
jndi-namestring The jndi name to which to bind this cache. If undefined, the cache will be bound to: java:jboss/infinispan/cache/container-name/cache-name
modulestring Defines the module whose class loader should be used when building this cache, if different from the enclosing cache container. Deprecated: This attribute is currently ignored and usages will cause a warning to be logged. It will be removed in next major version.
statisticsbooleanfalseDetermines whether or not the cache should collect statistics. Keep disabled for optimal performance.
statistics-availablebooleantrueIf set to false, statistics gathering cannot be enabled during runtime. Keep disabled for optimal performance.

backups?

The cross-site backup configuration.

backup+

Configures a specific site where this cache backups data.

NameTypeDefaultDescription
sitestringName of the remote site where this cache backups data.
strategy
ASYNCEnables asynchronous mode.
SYNCEnables synchronous mode.
ASYNCThe strategy used for backing up data: "SYNC" or "ASYNC". Defaults to "ASYNC"
failure-policy
IGNOREIgnore backup failures.
WARNWarn of backup failures.
FAILFail local operations when a backup failure occurs.
WARNDecides what the system would do in case of failure during backup. Defaults to "FAIL"
timeoutlong15000The timeout(millis) to be used when backing up data remotely. Defaults to 10 secs.
enabledbooleantrueIf 'false' then no data is backed up to this site. Defaults to 'true'.

take-offline?

Determines whether this backup is taken offline (ignored) after a certain number of tries.

NameTypeDefaultDescription
after-failuresint0The number of failed request operations after which this site should be taken offline. Defaults to 0 (never). A negative value would mean that the site will be taken offline after 'min-wait'.
min-waitlong0The minimal number of millis to wait before taking this site offline, even in the case 'after-failures' is reached. If smaller or equal to 0, then only 'after-failures' is considered.

state-transfer?

Configures the properties needed to transfer the state for this site.

NameTypeDefaultDescription
chunk-sizeint512 If > 0, the state will be transferred in batches of {@code chunkSize} cache entries. If <= 0, the state will be transferred in all at once. Not recommended. Defaults to 512.
timeoutlong1200000 The time (in milliseconds) to wait for the backup site acknowledge the state chunk received and applied. Default value is 20 min.
max-retriesint30 The maximum number of retries when a push state command fails. A value <= 0 (zero) mean that the command will not retry. Default value is 30.
wait-timelong2000 The waiting time (in milliseconds) between each retry. The value should be > 0 (zero). Default value is 2 seconds.

backup-for?

Configures this cache as a backup for a remote cache.

NameTypeDefaultDescription
remote-cachestring The name of the remote cache that backups data here.
remote-sitestring The name of the remote site containing the cache that backups data here.

encoding?

The cache encoding configuration.

Defines encoding for keys and values of the cache.

key?

Describes the content-type and encoding.
NameTypeDefaultDescription
media-typestring

value?

Describes the content-type and encoding.
NameTypeDefaultDescription
media-typestring

locking?

The locking configuration of the cache.

NameTypeDefaultDescription
isolation
NONENo locking isolation will be performed. This is only valid in local mode. In clustered mode, READ_COMMITTED will be used instead.
READ_UNCOMMITTEDUnsupported. Actually configures READ_COMMITTED
READ_COMMITTEDRead committed is an isolation level that guarantees that any data read is committed at the moment it is read. However, depending on the outcome of other transactions, successive reads may return different results
REPEATABLE_READRepeatable read is an isolation level that guarantees that any data read is committed at the moment it is read and that, within a transaction, successive reads will always return the same data.
SERIALIZABLEUnsupported. Actually configures REPEATABLE_READ
REPEATABLE_READSets the cache locking isolation level. Defaults to READ_COMMITTED. When using REPEATABLE_READ with optimistic locking, write skew checking will be enabled.
stripingbooleanfalseIf 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.
acquire-timeoutlong10000Maximum time to attempt a particular lock acquisition.
concurrency-levelint32Concurrency level for lock containers. Adjust this value according to the number of concurrent threads interacting with Infinispan.

transaction?

The cache transaction configuration.

NameTypeDefaultDescription
mode
NONECache will not enlist within transactions.
NON_XACache will enlist within transactions as a javax.transaction.Synchronization
NON_DURABLE_XACache will enlist within transactions as a javax.transaction.xa.XAResource, without recovery.
FULL_XACache will enlist within transactions as a javax.transaction.xa.XAResource, with recovery.
NONESets the cache transaction mode to one of NONE, NON_XA, NON_DURABLE_XA, FULL_XA.
stop-timeoutlong30000If 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.
locking
OPTIMISTICEnables Optimistic locking.
PESSIMISTICEnables Pessimistic locking.
OPTIMISTICThe locking mode for this cache, one of OPTIMISTIC or PESSIMISTIC.
notificationsbooleantrue Enables or disables triggering transactional notifications on cache listeners. By default is enabled.

memory?

The cache memory configuration.

object

Store keys and values as instance variables. Instances of byte[] will be wrapped to ensure equality.

NameTypeDefaultDescription
sizelong-1The size of the eviction cache as a long. Limits the cache to this normal by the amount of entries in the cache.
strategy
NONENever evict entries. This is the default.
MANUALEviction will be performed manually. Equivalent internally to NONE.
REMOVEEviction will be performed automatically to ensure that "older" entries are removed to make room for new entries.
EXCEPTIONEviction is not performed and instead when the container is full exceptions will prevent new entries from being written to the container. This cache must be transactional and now allow for commit optimizations that would prevent it from performing a two phase commit.
UNORDEREDDeprecated. Activates REMOVE policy.
FIFODeprecated. Activates REMOVE policy.
LRUDeprecated. Activates REMOVE policy.
LIRSDeprecated. Activates REMOVE policy.
The eviction strategy to use. This determines if eviction is even enabled or if it has a different variant.

binary

Store keys and values as byte[] instances. Key and value will be serialized to binary representations.

NameTypeDefaultDescription
sizelong-1The size of the eviction cache as a long. If the configured type is COUNT, this will be how many entries can be stored. If the configured type is MEMORY, this will be how much memory in bytes can be stored.
evictionFIXMEThe eviction type to use whether it is COUNT or MEMORY. COUNT will limit the cache based on the number of entries. MEMORY will limit the cache by how much memory the entries use
strategy
NONENever evict entries. This is the default.
MANUALEviction will be performed manually. Equivalent internally to NONE.
REMOVEEviction will be performed automatically to ensure that "older" entries are removed to make room for new entries.
EXCEPTIONEviction is not performed and instead when the container is full exceptions will prevent new entries from being written to the container. This cache must be transactional and now allow for commit optimizations that would prevent it from performing a two phase commit.
UNORDEREDDeprecated. Activates REMOVE policy.
FIFODeprecated. Activates REMOVE policy.
LRUDeprecated. Activates REMOVE policy.
LIRSDeprecated. Activates REMOVE policy.
The eviction strategy to use. This determines if eviction is even enabled or if it has a different variant.

off-heap

Store keys and values as byte[] off of the Java heap. Key and value will be serialized to binary representations and stored in native memory as to not take up Java heap. Temporary objects will be put onto Java heap temporarily until processing is completed.

NameTypeDefaultDescription
sizelong-1The size of the eviction cache as a long. If the configured type is COUNT, this will be how many entries can be stored. If the configured type is MEMORY, this will be how much memory in bytes can be stored.
evictionFIXMEThe eviction type to use whether it is COUNT or MEMORY. COUNT will limit the cache based on the number of entries. MEMORY will limit the cache by how much memory the entries use
strategy
NONENever evict entries. This is the default.
MANUALEviction will be performed manually. Equivalent internally to NONE.
REMOVEEviction will be performed automatically to ensure that "older" entries are removed to make room for new entries.
EXCEPTIONEviction is not performed and instead when the container is full exceptions will prevent new entries from being written to the container. This cache must be transactional and now allow for commit optimizations that would prevent it from performing a two phase commit.
UNORDEREDDeprecated. Activates REMOVE policy.
FIFODeprecated. Activates REMOVE policy.
LRUDeprecated. Activates REMOVE policy.
LIRSDeprecated. Activates REMOVE policy.
The eviction strategy to use. This determines if eviction is even enabled or if it has a different variant.
address-countint1048576How many address pointers to use. For optimal performance you will want more address pointers than you expect to have entries. This is similar to the size of an array backing a hash map. Without collisions lookups and writes will be constant time. Each pointer will take up 8 bytes of memory thus the default will use 8 MB of off heap memory.

expiration?

The cache expiration configuration.

NameTypeDefaultDescription
max-idlelong-1Maximum 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.
lifespanlong-1Maximum lifespan of a cache entry, after which the entry is expired cluster-wide, in milliseconds. -1 means the entries never expire.
intervallong60000Interval (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 interval to -1.

persistence?

The cache persistence configuration where cache stores/loaders should be configured.

NameTypeDefaultDescription
passivationbooleanfalse If true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. This gives you the ability to 'overflow' to disk, similar to swapping in an operating system. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Defaults to false.
connection-attemptsint10 The maximum number of unsuccessful attempts to start each of the configured CacheWriter/CacheLoader before an exception is thrown and the cache fails to start.
connection-intervalint50 The time, in milliseconds, to wait between subsequent connection attempts on startup. A negative or zero value means no wait between connection attempts.
availability-intervalint1000 The time, in milliseconds, between availability checks to determine if the PersistenceManager is available. In other words, this interval sets how often stores/loaders are polled via their `org.infinispan.persistence.spi.CacheWriter#isAvailable` or `org.infinispan.persistence.spi.CacheLoader#isAvailable` implementation. If a single store/loader is not available, an exception is thrown during cache operations.

cluster-loader

Defines a cluster cache loader.

NameTypeDefaultDescription
remote-timeoutlongThe timeout when performing remote calls.
NameTypeDefaultDescription
namestringUniquely identifies this loader.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.

property*

A cache loader property with name and value.

store

Defines a custom cache store.

NameTypeDefaultDescription
classstringThe class name of the cache store implementation.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

loader

Defines a custom cache loader.

NameTypeDefaultDescription
classstringThe class name of the cache loader implementation.
NameTypeDefaultDescription
namestringUniquely identifies this loader.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.

property*

A cache loader property with name and value.

file-store

Defines a file-based cache store.

NameTypeDefaultDescription
max-entriesint Sets the maximum number of in-memory mappings between keys and their position in the store. Normally this is unlimited, but to avoid excess memory usage, an upper bound can be configured. If this limit is exceeded, entries are removed permanently using the LRU algorithm both from the in-memory index and the underlying file based cache store. Warning: setting this value may cause data loss.
relative-tostringjboss.server.data.dirThe base directory in which to store the cache state.
pathstring The path within "relative-to" in which to store the cache state. If undefined, the path defaults to the cache container name.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

string-keyed-jdbc-store

Defines a database cache store accessed via JDBC using string-based keys.

string-keyed-table?

Defines the table used to store cache entries.

NameTypeDefaultDescription
prefixstringispn_entryDefines the prefix prepended to the cache name used when composing the name of the cache entry table.
NameTypeDefaultDescription
fetch-sizeint100The fetch size used when querying from this table. Used to avoid heap memory exhaustion when query is large.
batch-sizeint100The statement batch size used when modifying this table.
create-on-startbooleantrueDetermines whether database tables should be created by the store on startup.
drop-on-exitbooleanfalseDetermines whether database tables should be dropped by the store on shutdown.

id-column?

Defines the column in which to store the cache key or bucket id.

NameTypeDefaultDescription
namestringidThe name of the column used to store the cache key or bucket id.
typestringVARCHARThe type of the column used to store the cache key or bucket id.

data-column?

Defines the column in which to store the cache entry or bucket.

NameTypeDefaultDescription
namestringdatumThe name of the column used to store the cache entry or bucket.
typestringBINARYThe type of the column used to store the cache entry or bucket.

timestamp-column?

Defines the column in which to store the timestamp of the cache entry or bucket.

NameTypeDefaultDescription
namestringversionThe name of the column used to store the cache entry or bucket timestamp.
typestringBIGINTThe type of the column used to store the cache entry or bucket timestamp.
NameTypeDefaultDescription
datasourcestringDefines the jndi name of the datasource.
dialect
ACCESS
DB2
DB2_390
DERBY
FIREBIRD
H2
HSQL
INFORMIX
INTERBASE
MARIA_DB
MYSQL
ORACLE
POSTGRES
SQL_SERVER
SQLITE
SYBASE
Defines the JDBC dialect.
db-major-versionnonNegativeIntegerDefines the major version of the database.
db-minor-versionnonNegativeIntegerDefines the minor version of the database.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

rocksdb-store

Defines a RocksDB cache store.

NameTypeDefaultDescription
relative-tostringjboss.server.data.dirThe base directory in which to store the cache state.
pathstring The path within "relative-to" in which to store the cache state. If undefined, the path defaults to the cache container name.
block-sizeintegerCache store block size.
cache-sizelongCache size for the cache store.
clear-thresholdintegerCache store cache clear threshold.

expiration?

Defines the expiration settings for the RocksDB cache store.

NameTypeDefaultDescription
pathstringThe base directory in which to store expired cache state.
queue-sizeinteger10000Expired entry queue size.

compression?

Defines the data compression to use in the RocksDB store.

NameTypeDefaultDescription
type
NONENo compression.
SNAPPYSnappy compression.
ZLIBZLib compression.
BZLIB2BZLib 2 compression.
LZ4LZ4 compression.
LZ4HCLZ4HC compression.
NONEThe type of compression to be used by RocksDB store.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

remote-store

Defines a remote cache store accessed via HotRod.

NameTypeDefaultDescription
cachestringThe name of the remote cache. If undefined, the default cache will be used.
socket-timeoutlong60000 Enable/disable SO_TIMEOUT on socket connections to remote Hot Rod servers with the specified timeout, in milliseconds. A timeout of zero is interpreted as an infinite timeout.
tcp-no-delaybooleantrue Enable/disable TCP_NODELAY on socket connections to remote Hot Rod servers.
hotrod-wrappingbooleanfalse Ensures that, when entries are retrieved from the remote store, they will be wrapped in a format suitable for serving via HotRod. This flag must be enabled when performing a rolling upgrade
raw-valuesbooleanfalse Enables the storage of data on the remote server in "raw" format as opposed to wrapping the entries in InternalCacheEntry. This will make the remote cache interoperable between direct RemoteCacheManager clients and RemoteCacheStore stores
protocol-versionstring This property defines the protocol version that this client should use.

remote-server+

NameTypeDefaultDescription
outbound-socket-bindingstringAn outbound socket binding for a remote server.

authentication?

plain

Uses PLAIN authentication with the supplied credentials.
NameTypeDefaultDescription
usernamestring
passwordstring

digest

Uses DIGEST-MD5 authentication with the supplied credentials.
NameTypeDefaultDescription
usernamestring
passwordstring
realmstring
server-namestring

external

Uses EXTERNAL authentication, with credentials supplied by the encrypted transport client certificate.

encryption?

NameTypeDefaultDescription
security-realmFIXMEA security realm which supplies a truststore for identifying the remote servers. If client authentication is required, then the security realm must also provide an identity keystore.
sni-hostnameFIXMEAn optional SNI hostname for identifying the remote server.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

rest-store

Defines a remote cache store accessed via REST.

NameTypeDefaultDescription
append-cache-name-to-pathbooleanfalseWhether to append the name of the cache to the path.
pathstring/rest/___defaultcacheThe path portion of the URI of the remote REST endpoint.
max-content-lengthint10485760The maximum allowed content length of a POST/PUT request.

remote-server+

NameTypeDefaultDescription
outbound-socket-bindingstringAn outbound socket binding for a remote server.

connection-pool+

NameTypeDefaultDescription
buffer-sizeint8192The size of the socket buffer.
connection-timeoutint60000A connection timeout for remote cache communication.
max-connections-per-hostint4The maximum number of connections per host.
max-total-connectionsint20The maximum number of total connections.
socket-timeoutint60000A socket timeout for remote cache communication.
tcp-no-delaybooleantrueEnable/disable TCP_NODELAY on socket connections to remote Hot Rod servers.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

soft-index-file-store

Defines a soft-index file store.

NameTypeDefaultDescription
open-files-limitint1000 Max number of data files opened for reading (current log file, compaction output and index segments are not included here).
compaction-thresholddouble0.5 If amount of unused space in some data file gets above this threshold, the file is compacted - entries from that file are copied to a new file and the old file is deleted.

data?

Configure where and how should be the entries stored - this is the persistent location.
NameTypeDefaultDescription
pathstringjboss.server.data.dir A location on disk where the store writes entries. Files are written sequentially, reads are random.
max-file-sizeint16777216 Max size of single file with entries, in bytes.
sync-writesbooleanfalse If true, the write is confirmed only after the entry is fsynced on disk.

index?

Configure where and how should be the index stored.
NameTypeDefaultDescription
pathstringjboss.server.data.dir A location where the store keeps index - this does not have to be persistent across restarts, and SSD storage is recommended (the index is accessed randomly).
segmentsint3 Number of index segment files. Increasing this value improves throughput but requires more threads to be spawned.
max-queue-lengthint1000 Max number of entry writes that are waiting to be written to the index, per index segment.
max-node-sizeint4096 Max size of node (continuous block on filesystem used in index implementation), in bytes.
min-node-sizeint0 If the size of node (continuous block on filesystem used in index implementation) drops below this threshold, the node will try to balance its size with some neighbour node, possibly causing join of multiple nodes.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

cluster-loader

Defines a cluster cache loader. Deprecated: Please define loaders under the persistence element.

NameTypeDefaultDescription
remote-timeoutlongThe timeout when performing remote calls.
NameTypeDefaultDescription
namestringUniquely identifies this loader.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.

property*

A cache loader property with name and value.

store

Defines a custom cache store. Deprecated: Please define stores under the persistence element.

NameTypeDefaultDescription
classstringThe class name of the cache store implementation.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

loader

Defines a custom cache loader. Deprecated: Please define loaders under the persistence element.

NameTypeDefaultDescription
classstringThe class name of the cache loader implementation.
NameTypeDefaultDescription
namestringUniquely identifies this loader.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.

property*

A cache loader property with name and value.

file-store

Defines a file-based cache store. Deprecated: Please define stores under the persistence element.

NameTypeDefaultDescription
max-entriesint Sets the maximum number of in-memory mappings between keys and their position in the store. Normally this is unlimited, but to avoid excess memory usage, an upper bound can be configured. If this limit is exceeded, entries are removed permanently using the LRU algorithm both from the in-memory index and the underlying file based cache store. Warning: setting this value may cause data loss.
relative-tostringjboss.server.data.dirThe base directory in which to store the cache state.
pathstring The path within "relative-to" in which to store the cache state. If undefined, the path defaults to the cache container name.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

string-keyed-jdbc-store

Defines a database cache store accessed via JDBC using string-based keys. Deprecated: Please define stores under the persistence element.

string-keyed-table?

Defines the table used to store cache entries.

NameTypeDefaultDescription
prefixstringispn_entryDefines the prefix prepended to the cache name used when composing the name of the cache entry table.
NameTypeDefaultDescription
fetch-sizeint100The fetch size used when querying from this table. Used to avoid heap memory exhaustion when query is large.
batch-sizeint100The statement batch size used when modifying this table.
create-on-startbooleantrueDetermines whether database tables should be created by the store on startup.
drop-on-exitbooleanfalseDetermines whether database tables should be dropped by the store on shutdown.

id-column?

Defines the column in which to store the cache key or bucket id.

NameTypeDefaultDescription
namestringidThe name of the column used to store the cache key or bucket id.
typestringVARCHARThe type of the column used to store the cache key or bucket id.

data-column?

Defines the column in which to store the cache entry or bucket.

NameTypeDefaultDescription
namestringdatumThe name of the column used to store the cache entry or bucket.
typestringBINARYThe type of the column used to store the cache entry or bucket.

timestamp-column?

Defines the column in which to store the timestamp of the cache entry or bucket.

NameTypeDefaultDescription
namestringversionThe name of the column used to store the cache entry or bucket timestamp.
typestringBIGINTThe type of the column used to store the cache entry or bucket timestamp.
NameTypeDefaultDescription
datasourcestringDefines the jndi name of the datasource.
dialect
ACCESS
DB2
DB2_390
DERBY
FIREBIRD
H2
HSQL
INFORMIX
INTERBASE
MARIA_DB
MYSQL
ORACLE
POSTGRES
SQL_SERVER
SQLITE
SYBASE
Defines the JDBC dialect.
db-major-versionnonNegativeIntegerDefines the major version of the database.
db-minor-versionnonNegativeIntegerDefines the minor version of the database.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

rocksdb-store

Defines a RocksDB cache store. Deprecated: Please define stores under the persistence element.

NameTypeDefaultDescription
relative-tostringjboss.server.data.dirThe base directory in which to store the cache state.
pathstring The path within "relative-to" in which to store the cache state. If undefined, the path defaults to the cache container name.
block-sizeintegerCache store block size.
cache-sizelongCache size for the cache store.
clear-thresholdintegerCache store cache clear threshold.

expiration?

Defines the expiration settings for the RocksDB cache store.

NameTypeDefaultDescription
pathstringThe base directory in which to store expired cache state.
queue-sizeinteger10000Expired entry queue size.

compression?

Defines the data compression to use in the RocksDB store.

NameTypeDefaultDescription
type
NONENo compression.
SNAPPYSnappy compression.
ZLIBZLib compression.
BZLIB2BZLib 2 compression.
LZ4LZ4 compression.
LZ4HCLZ4HC compression.
NONEThe type of compression to be used by RocksDB store.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

remote-store

Defines a remote cache store accessed via HotRod. Deprecated: Please define stores under the persistence element.

NameTypeDefaultDescription
cachestringThe name of the remote cache. If undefined, the default cache will be used.
socket-timeoutlong60000 Enable/disable SO_TIMEOUT on socket connections to remote Hot Rod servers with the specified timeout, in milliseconds. A timeout of zero is interpreted as an infinite timeout.
tcp-no-delaybooleantrue Enable/disable TCP_NODELAY on socket connections to remote Hot Rod servers.
hotrod-wrappingbooleanfalse Ensures that, when entries are retrieved from the remote store, they will be wrapped in a format suitable for serving via HotRod. This flag must be enabled when performing a rolling upgrade
raw-valuesbooleanfalse Enables the storage of data on the remote server in "raw" format as opposed to wrapping the entries in InternalCacheEntry. This will make the remote cache interoperable between direct RemoteCacheManager clients and RemoteCacheStore stores
protocol-versionstring This property defines the protocol version that this client should use.

remote-server+

NameTypeDefaultDescription
outbound-socket-bindingstringAn outbound socket binding for a remote server.

authentication?

plain

Uses PLAIN authentication with the supplied credentials.
NameTypeDefaultDescription
usernamestring
passwordstring

digest

Uses DIGEST-MD5 authentication with the supplied credentials.
NameTypeDefaultDescription
usernamestring
passwordstring
realmstring
server-namestring

external

Uses EXTERNAL authentication, with credentials supplied by the encrypted transport client certificate.

encryption?

NameTypeDefaultDescription
security-realmFIXMEA security realm which supplies a truststore for identifying the remote servers. If client authentication is required, then the security realm must also provide an identity keystore.
sni-hostnameFIXMEAn optional SNI hostname for identifying the remote server.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

rest-store

Defines a remote cache store accessed via REST. Deprecated: Please define stores under the persistence element.

NameTypeDefaultDescription
append-cache-name-to-pathbooleanfalseWhether to append the name of the cache to the path.
pathstring/rest/___defaultcacheThe path portion of the URI of the remote REST endpoint.
max-content-lengthint10485760The maximum allowed content length of a POST/PUT request.

remote-server+

NameTypeDefaultDescription
outbound-socket-bindingstringAn outbound socket binding for a remote server.

connection-pool+

NameTypeDefaultDescription
buffer-sizeint8192The size of the socket buffer.
connection-timeoutint60000A connection timeout for remote cache communication.
max-connections-per-hostint4The maximum number of connections per host.
max-total-connectionsint20The maximum number of total connections.
socket-timeoutint60000A socket timeout for remote cache communication.
tcp-no-delaybooleantrueEnable/disable TCP_NODELAY on socket connections to remote Hot Rod servers.
NameTypeDefaultDescription
namestringUniquely identifies this store.
sharedbooleanfalseThis setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.
transactionalbooleanfalseThis setting should be set to true when the underlying cache store supports transactions and it is desirable for the underlying store and the cache to remain synchronized. With this enabled any Exceptions thrown whilst writing to the underlying store will result in both the store's and cache's transactions rollingback.
preloadbooleanfalseIf true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
passivationbooleanfalseIf true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration. Deprecated: Use the persistence element passivation attribute instead
fetch-statebooleanfalseIf true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
purgebooleanfalseIf true, purges this cache store when it starts up.
read-onlybooleanfalseIf true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store.
max-batch-sizeint100The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

write-behind?

Configures a cache store as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries
thread-pool-sizeint1 Size of the thread pool whose threads are responsible for applying the modifications to the cache store.

property*

A cache store property with name and value.

indexing?

Defines indexing options for cache

NameTypeDefaultDescription
index
NONEDo not index data. This is the default.
LOCALOnly index changes made locally, ignoring remote changes. This is useful if indexes are shared across a cluster to prevent redundant indexing of updates.
ALLIndex all data
PRIMARY_OWNEROnly index changes on the primary owner, regardless of it's local or remote.
NONEThe indexing mode of the cache. Defaults to NONE.
auto-configbooleanfalseWhether or not to apply automatic index configuration based on cache type

key-transformers?

Defines the Transformers used to stringify keys for indexing with Lucene

key-transformer*

Defines the Transformer to use for the specified key class
NameTypeDefaultDescription
keystring
transformerstring

indexed-entities?

Defines the indexed entity classes

indexed-entity*

Indexed entity class name

property*

Property to pass on to the indexing system

security?

Configures cache-level security.

authorization?

Configures authorization for this cache.

NameTypeDefaultDescription
enabledbooleantrue Enables authorization checks for this cache. Defaults to true if the authorization element is present.
roles Sets the valid roles required to access this cache.

counters?

Defines counters.

NameTypeDefaultDescription
num-ownersint${Server.CacheContainerCounters.num_owners}Sets the number of counter’s copies to keep cluster-wide. It must be positive and its default value is 2.
reliability
AVAILABLEAll partitions are able to read and update the counter’s value.
CONSISTENTOnly the primary partition (majority of nodes) will be able to read and update the counter’s value. The remaining partitions can only read its value.
AVAILABLESets the counter’s update behavior in a network partition. Default value is AVAILABLE

strong-counter*

Defines strong counter

lower-bound?

The lower bound for this strong counter

NameTypeDefaultDescription
valuelongCounter lower bound

upper-bound?

The upper bound for this strong counter

NameTypeDefaultDescription
valuelongCounter upper bound
NameTypeDefaultDescription
namestringCounter name
initial-valuelong0Counter initial value. Default is 0 (zero)
storage
VOLATILEThe counter’s value is only available in memory. The value will be lost when a cluster is shutdown.
PERSISTENTThe counter’s value is stored in a private and local persistent store. The value is kept when the cluster is shutdown and restored after a restart.
VOLATILESets the counter’s behavior when the cluster is shutdown and restarted. Default value is VOLATILE.

weak-counter*

Defines strong counter

NameTypeDefaultDescription
concurrency-levellong64Sets the number of concurrent updates. Its value must be positive and the default value is 64.
NameTypeDefaultDescription
namestringCounter name
initial-valuelong0Counter initial value. Default is 0 (zero)
storage
VOLATILEThe counter’s value is only available in memory. The value will be lost when a cluster is shutdown.
PERSISTENTThe counter’s value is stored in a private and local persistent store. The value is kept when the cluster is shutdown and restored after a restart.
VOLATILESets the counter’s behavior when the cluster is shutdown and restarted. Default value is VOLATILE.
Expand/Collapse All