string-keyed-table?
Defines the table used to store cache entries.
Name | Type | Default | Description |
---|---|---|---|
prefix | string | ispn_entry | Defines the prefix prepended to the cache name used when composing the name of the cache entry table. |
Name | Type | Default | Description |
---|---|---|---|
fetch-size | int | 100 | The fetch size used when querying from this table. Used to avoid heap memory exhaustion when query is large. |
batch-size | int | 100 | The statement batch size used when modifying this table. |
create-on-start | boolean | false | Determines whether database tables should be created by the store on startup. |
drop-on-exit | boolean | false | Determines 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.
Name | Type | Default | Description |
---|---|---|---|
name | string | id | The name of the column used to store the cache key or bucket id. |
type | string | VARCHAR | The 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.
Name | Type | Default | Description |
---|---|---|---|
name | string | datum | The name of the column used to store the cache entry or bucket. |
type | string | BINARY | The 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.
Name | Type | Default | Description |
---|---|---|---|
name | string | version | The name of the column used to store the cache entry or bucket timestamp. |
type | string | BIGINT | The type of the column used to store the cache entry or bucket timestamp. |
connection-pool
Name | Type | Default | Description |
---|---|---|---|
connection-url | string | A JDBC driver-specific connection URL | |
driver | string | The class name of the driver used for connecting to the database. | |
password | string | The password to use when connecting via connectionUrl | |
username | string | The username to use when connecting via connectionUrl |
data-source
Name | Type | Default | Description |
---|---|---|---|
jndi-url | string | The address of a datasource to use when connecting |
simple-connection
Name | Type | Default | Description |
---|---|---|---|
connection-url | string | A JDBC driver-specific connection URL | |
driver | string | The class name of the driver used for connecting to the database. | |
password | string | The password to use when connecting via connectionUrl | |
username | string | The username to use when connecting via connectionUrl |
Name | Type | Default | Description |
---|---|---|---|
name | string | Unused XML attribute | |
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. |
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. |
passivation | boolean | true | 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. 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. |
fetch-state | boolean | true | If true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled. |
purge | boolean | true | If true, purges this cache store when it starts up. |
singleton | boolean | false | If true, the singleton store cache store is enabled. SingletonStore is a delegating cache store used for situations when only one instance in a cluster should interact with the underlying store. |
read-only | boolean | false | If true, the cache store will only be used to load entries. Any modifications made to the caches will not be applied to the store. |
write-behind?
Configures a cache store as write-behind instead of write-through.
Name | Type | Default | Description |
---|---|---|---|
flush-lock-timeout | int | 1 | Timeout to acquire the lock which guards the state to be flushed to the cache store periodically. |
modification-queue-size | int | 1024 | Maximum number of entries in the asynchronous queue. When the queue is full, the store becomes write-through. until it can accept new entries |
shutdown-timeout | int | 25000 | Timeout in milliseconds to stop the cache store. |
thread-pool-size | int | 1 | 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.