urn:infinispan:config:store:jdbc:10.1

string-keyed-jdbc-store

NameTypeDefaultDescription
key-to-string-mapperstring The class name of a org.infinispan.persistence.keymappers.Key2StringMapper to use for mapping keys to strings suitable for storage in a database table. Defaults to org.infinispan.persistence.keymappers.DefaultTwoWayKey2StringMapper

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-sizeint100Deprecated, use the max-batch-size store property instead. The 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.

segment-column?

Defines the column in which to store the segment number.

NameTypeDefaultDescription
namestringversionThe name of the column used to store the segment number.
typestringBIGINTThe type of the column used to store the segment number.
NameTypeDefaultDescription
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.

connection-pool

NameTypeDefaultDescription
properties-filestring The path of a properties file that provides additional configuration for the connection pool.
connection-urlstring A JDBC driver-specific connection URL
driverstring The class name of the driver used for connecting to the database.
passwordstring The password to use when connecting via connectionUrl
usernamestring The username to use when connecting via connectionUrl

data-source

NameTypeDefaultDescription
jndi-urlstring The address of a datasource to use when connecting

simple-connection

NameTypeDefaultDescription
connection-urlstring A JDBC driver-specific connection URL
driverstring The class name of the driver used for connecting to the database.
passwordstring The password to use when connecting via connectionUrl
usernamestring The username to use when connecting via connectionUrl
NameTypeDefaultDescription
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.
fetch-statebooleanfalseFetches the persistent state of a cache when joining a cluster. Values are true / false (default). The purpose of this property is to retrieve the persistent state of a cache and apply it to the local cache store of a node when it joins a cluster. Fetching the persistent state does not apply if a cache store is shared because it accesses the same data as the other stores. This property can be `true` for one configured cache loader only. If more than one cache loader fetches the persistent state, a configuration exception is thrown when the cache service starts.
purgebooleanfalse Empties the specified cache loader at startup. Values are true / false (default). This property takes effect only if read-only is false.
read-onlybooleanfalse Prevents data from being persisted to cache stores. Values are true / false (default). If true, cache stores load entries only. Any modifications to data in the cache do not apply to cache stores.
max-batch-sizeint100 Sets the maximum size of a batch to insert or delete from the cache store. If the value is less than one, no upper limit applies to the number of operations in a batch.
segmentedbooleantrue Configures cache stores to store data in hash space segments, with the "hash.numSegments" property defining the number of segments.

write-behind?

Configures cache stores as write-behind instead of write-through.

NameTypeDefaultDescription
modification-queue-sizeint1024 Specifies the maximum number of entries in the asynchronous modification queue. When the queue is full, write-through mode is used until the queue can accept new entries.
thread-pool-sizeint1 Specifies the number of threads to apply modifications to the cache store.
fail-silentlybooleanfalse Controls how asynchronous write operations take place when cache stores become unavailable. If "true", asynchronous write operations that fail are re-attempted with the number of times specified in the "connection-attempts" parameter. If all attempts fail, errors are ignored and write operations are not executed on the cache store. If "false", asynchronous write operations that fail are re-attempted when the underlying store becomes available. If the modification queue becomes full before the underlying store becomes available, an error is thrown on all future write operations to the store until the modification queue is flushed. The modification queue is not persisted. If the underlying store does not become available before the asynchronous store is stopped, queued modifications are lost.

property*

Defines a cache store property with name and value.

Expand/Collapse All