Name | Type | Default | Description |
---|---|---|---|
persistenceUnitName | string | The name of JPA Persistence Unit (e.g. specified in JPA persistence.xml). | |
entityClassName | string | The fully qualified class name the JPA entity that should be used to store cache entry value. | |
batchSize | long | 100 | The batch size is used during cache store streaming. Default is 100. |
storeMetadata | boolean | true | Store Infinispan metadata (expiration, versioning) with the entries. Default is true. |
Name | Type | Default | Description |
---|---|---|---|
fetchPersistentState | boolean | false | If true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled. Persistent state transfer with a shared cache store does not make sense, as the same persistent store that provides the data will just end up receiving it. Therefore, if a shared cache store is used, the cache will not allow a persistent state transfer even if a cache store has this property set to true. Finally, setting it to true only makes sense if in a clustered environment. Defaults to false. |
preload | boolean | false | If 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. Defaults to false. |
ignoreModifications | boolean | false | If true, any operation that modifies the cache (put, remove, clear, store...etc) won't be applied to the cache store. This means that the cache store could become out of sync with the cache. Defaults to false. |
purgeOnStartup | boolean | false | If true, purges this cache store when it starts up. Defaults to false. |
shared | boolean | false | This 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. Note that this could be useful if each individual node has its own cache store - perhaps local on-disk. Defaults to false. |
async?
Configuration for the async cache loader. If enabled, this provides you with asynchronous writes to the cache store, giving you 'write-behind' caching.
Name | Type | Default | Description |
---|---|---|---|
enabled | boolean | false | If true, all modifications to this cache store happen asynchronously, on a separate thread. |
flushLockTimeout | long | 1 | Timeout to acquire the lock which guards the state to be flushed to the cache store periodically. Defaults to 1. |
modificationQueueSize | int | 1024 | Sets the size of the modification queue for the async store. If updates are made at a rate that is faster than the underlying cache store can process this queue, then the async store behaves like a synchronous store for that period, blocking until the queue can accept more elements. Defaults to 1024 elements. |
shutdownTimeout | long | 25000 | Timeout to stop the cache store. When the store is stopped it's possible that some modifications still need to be applied; you likely want to set a very large timeout to make sure to not loose data. Defaults to 25 seconds. |
threadPoolSize | int | 1 | Size of the thread pool whose threads are responsible for applying the modifications. Defaults to 1. |
singleton?
SingletonStore is a delegating cache store used for situations when only one instance in a cluster should interact with the underlying store. The coordinator of the cluster will be responsible for the underlying CacheStore. SingletonStore is a simply facade to a real CacheStore implementation. It always delegates reads to the real CacheStore.
Name | Type | Default | Description |
---|---|---|---|
pushStateTimeout | long | 10000 | If pushStateWhenCoordinator is true, this property sets the maximum number of milliseconds that the process of pushing the in-memory state to the underlying cache loader should take. Defaults to 10 seconds. |
pushStateWhenCoordinator | boolean | true | If true, when a node becomes the coordinator, it will transfer in-memory state to the underlying cache store. This can be very useful in situations where the coordinator crashes and there's a gap in time until the new coordinator is elected. Defaults to true. |
enabled | boolean | false | If true, the singleton store cache store is enabled. Defaults to false. |
properties?
Properties passed to the cache store or writer
property*
Name | Type | Default | Description |
---|---|---|---|
name | string | The property name or key | |
value | string | The property value |