This document provides a comprehensive reference of all configuration properties available for the Infinispan Hot Rod Java client.
All properties are prefixed with infinispan.client.hotrod. (abbreviated as ICH in the source code).
1. Connection Properties
| Property | Description | Type | Default |
|---|---|---|---|
|
Complete connection URI for the Hot Rod client. When specified, it takes precedence over individual connection properties. |
String |
none |
|
List of Hot Rod servers in the format |
String |
|
|
Maximum time in milliseconds to wait for a connection to be established. |
int |
|
|
Socket read timeout in milliseconds. Controls how long the client waits for a response from the server. |
int |
|
|
Enable/disable TCP_NODELAY (Nagle’s algorithm). When true, packets are sent immediately without buffering. |
boolean |
|
|
Enable/disable TCP keep-alive on client connections. |
boolean |
|
|
Maximum number of times to retry a failed operation. |
int |
|
|
Time in milliseconds that a server is marked as failed before the client attempts to reconnect. |
int |
|
2. Client Intelligence
| Property | Description | Type | Default |
|---|---|---|---|
|
Defines the client’s awareness of the cluster topology. Valid values: |
String (ClientIntelligence) |
|
3. Marshalling and Serialization
| Property | Description | Type | Default |
|---|---|---|---|
|
Fully qualified class name of the marshaller to use for serializing/deserializing objects. |
String (class name) |
|
|
Comma-separated list of SerializationContextInitializer implementations for Protocol Buffers schema registration. |
String (comma-separated) |
none |
|
Comma-separated list of regular expressions for classes allowed to be deserialized when using Java serialization. |
String (comma-separated regex) |
none |
4. Protocol
| Property | Description | Type | Default |
|---|---|---|---|
|
Hot Rod protocol version to use. Format: |
String |
Latest supported version |
|
Batch size for bulk operations like iteration. |
int |
|
|
Whether to return previous values on put/replace operations. Can be overridden per cache. |
boolean |
|
5. Request Balancing
| Property | Description | Type | Default |
|---|---|---|---|
|
Fully qualified class name of the FailoverRequestBalancingStrategy implementation. |
String (class name) |
|
|
Consistent hash implementation for protocol version 2. |
String (class name) |
|
|
Consistent hash implementation for protocol version 3. |
String (class name) |
|
|
Consistent hash implementation for protocol version 4. |
String (class name) |
|
6. Asynchronous Executor
| Property | Description | Type | Default |
|---|---|---|---|
|
Fully qualified class name of the AsyncExecutorFactory implementation. |
String (class name) |
|
|
Thread pool size for the default async executor. |
int |
|
|
Prefix for thread names in the async executor pool. |
String |
|
|
Suffix for thread names in the async executor pool. |
String |
empty string |
7. Transport
| Property | Description | Type | Default |
|---|---|---|---|
|
Fully qualified class name of the TransportFactory implementation. |
String (class name) |
Default implementation |
8. DNS Resolution
| Property | Description | Type | Default |
|---|---|---|---|
|
Minimum time-to-live (in seconds) for DNS resolution cache entries. |
int |
|
|
Maximum time-to-live (in seconds) for DNS resolution cache entries. |
int |
|
|
Time-to-live (in seconds) for negative DNS resolution cache entries (failed lookups). |
int |
|
9. SSL/TLS Configuration
| Property | Description | Type | Default |
|---|---|---|---|
|
Enable SSL/TLS encryption for client-server connections. |
boolean |
|
|
Path to the key store file containing the client’s private key and certificate. |
String |
none |
|
Type of the key store (e.g., |
String |
JVM default |
|
Password for the key store. |
String |
none |
|
Alias of the key to use from the key store. |
String |
none |
|
Path to the trust store file containing trusted server certificates. |
String |
none |
|
Type of the trust store (e.g., |
String |
JVM default |
|
Password for the trust store. |
String |
none |
|
Server Name Indication (SNI) hostname for TLS connections. |
String |
none |
|
SSL/TLS protocol version (e.g., |
String |
JVM default |
|
SSL provider to use (e.g., |
String |
JVM default |
|
Comma-separated list of SSL cipher suites to enable. |
String |
JVM default |
|
Pre-configured SSLContext instance (programmatic configuration only). |
SSLContext |
none |
|
Enable/disable hostname validation in SSL certificates. |
boolean |
|
10. Authentication
| Property | Description | Type | Default |
|---|---|---|---|
|
Enable authentication for client-server connections. |
boolean |
|
|
SASL mechanism to use for authentication (e.g., |
String |
none |
|
Username for authentication. |
String |
none |
|
Password for authentication. |
String |
none |
|
Authentication token (alternative to username/password). |
String |
none |
|
Authentication realm. |
String |
none |
|
Server name for SASL authentication. |
String |
none |
|
Fully qualified class name of the CallbackHandler implementation for custom authentication. |
String (class name) |
none |
|
Pre-configured Subject for authentication (programmatic configuration only). |
Subject |
none |
|
SASL mechanism-specific properties. Replace |
String |
none |
11. Statistics and Monitoring
| Property | Description | Type | Default |
|---|---|---|---|
|
Enable client-side statistics collection. |
boolean |
|
|
Enable JMX registration of statistics MBeans. |
boolean |
|
|
JMX object name for the statistics MBean. |
String |
Auto-generated |
|
JMX domain for registering statistics MBeans. |
String |
Default domain |
12. Tracing
| Property | Description | Type | Default |
|---|---|---|---|
|
Enable OpenTelemetry trace context propagation in Hot Rod requests. |
boolean |
|
13. Transaction Support
| Property | Description | Type | Default |
|---|---|---|---|
|
Fully qualified class name of the TransactionManagerLookup implementation. |
String (class name) |
|
|
Transaction mode for the cache. Valid values: |
String (TransactionMode) |
|
|
Transaction timeout in milliseconds. |
long |
|
14. Connection Pool (Deprecated since 15.1)
| Connection pool properties are deprecated and will be removed in a future version. The connection pool is no longer used. |
| Property | Description | Type | Default |
|---|---|---|---|
|
Maximum number of connections per server. |
int |
|
|
Maximum time to wait for a connection (milliseconds). |
long |
|
|
Minimum number of idle connections to maintain. |
int |
|
|
Maximum number of pending requests per connection. |
int |
|
|
Minimum time a connection can be idle before eviction (milliseconds). |
long |
|
|
Action when pool is exhausted. Valid values: |
String (ExhaustedAction) |
|
15. Cross-Site (XSite) Cluster Configuration
| Property | Description | Type | Default |
|---|---|---|---|
|
Define a cluster by name with server addresses (e.g., |
String |
none |
|
Client intelligence level for the specific cluster. Same values as |
String (ClientIntelligence) |
Global setting |
16. Per-Cache Configuration
Properties can be specified for individual caches using the prefix infinispan.client.hotrod.cache.<cache-name>. or infinispan.client.hotrod.cache.[<cache-name>]. for cache names with special characters.
| Property | Description | Type | Default |
|---|---|---|---|
|
XML or JSON configuration string for creating the cache on the server. |
String |
none |
|
URI pointing to a configuration file for the cache. |
String |
none |
|
Name of the server-side configuration template to use for creating the cache. |
String |
none |
|
Override global |
boolean |
Global setting |
|
Marshaller class specific to this cache (overrides global marshaller). |
String (class name) |
Global marshaller |
|
Transaction mode for this specific cache. |
String (TransactionMode) |
Global setting |
|
Transaction manager lookup for this specific cache. |
String (class name) |
Global setting |
|
Near cache mode. Valid values: |
String (NearCacheMode) |
|
|
Maximum number of entries in the near cache. |
int |
|
|
Fully qualified class name of custom NearCacheFactory implementation. |
String (class name) |
Default implementation |
|
Enable Bloom filter optimization for near cache invalidation. |
boolean |
|
17. Configuration Examples
infinispan.client.hotrod.server_list=192.168.1.10:11222;192.168.1.11:11222
infinispan.client.hotrod.client_intelligence=HASH_DISTRIBUTION_AWARE
infinispan.client.hotrod.use_ssl=true
infinispan.client.hotrod.trust_store_file_name=/path/to/truststore.jks
infinispan.client.hotrod.trust_store_password=secret
infinispan.client.hotrod.sni_host_name=infinispan.example.com
infinispan.client.hotrod.use_auth=true
infinispan.client.hotrod.sasl_mechanism=SCRAM-SHA-512
infinispan.client.hotrod.auth_username=admin
infinispan.client.hotrod.auth_password=password
infinispan.client.hotrod.auth_realm=default
infinispan.client.hotrod.cache.myCache.near_cache.mode=INVALIDATED
infinispan.client.hotrod.cache.myCache.near_cache.max_entries=1000
infinispan.client.hotrod.cache.myCache.near_cache.bloom_filter=true
infinispan.client.hotrod.cluster.NYC=nyc1.example.com:11222;nyc2.example.com:11222
infinispan.client.hotrod.cluster.NYC.intelligence=TOPOLOGY_AWARE
infinispan.client.hotrod.cluster.LON=lon1.example.com:11222;lon2.example.com:11222
infinispan.client.hotrod.statistics=true
infinispan.client.hotrod.jmx=true
infinispan.client.hotrod.jmx_domain=org.infinispan