JdbcHazelcastConfigurer
Configures Hazelcast for distributed crawling using a JDBC-backed data store.
Notes
Configures Hazelcast for the distributed crawler cluster using a JDBC-backed map store. Supports connection pooling, write-behind configuration, TCP member discovery, backup count, and optional Hazelcast Jet integration.
Usage
- YAML
- JSON
- XML
class: JdbcHazelcastConfigurer
autoDiscoveryEnabled: false
backupCount: 0
columnKeyType: string
columnValueType: string
hazelcastProperties: {}
initialLoadMode: LAZY
jdbcDriver: string
jdbcPassword: string
jdbcUrl: string
jdbcUsername: string
jetEnabled: false
maxPoolSize: 0
queueStoreEnabled: false
sqlMerge: string
tcpMembers: string
writeBatchSize: 0
writeCoalescing: false
writeDelaySeconds: 0
{
"class": "JdbcHazelcastConfigurer",
"autoDiscoveryEnabled": false,
"backupCount": 0,
"columnKeyType": "string",
"columnValueType": "string",
"hazelcastProperties": {},
"initialLoadMode": "LAZY",
"jdbcDriver": "string",
"jdbcPassword": "string",
"jdbcUrl": "string",
"jdbcUsername": "string",
"jetEnabled": false,
"maxPoolSize": 0,
"queueStoreEnabled": false,
"sqlMerge": "string",
"tcpMembers": "string",
"writeBatchSize": 0,
"writeCoalescing": false,
"writeDelaySeconds": 0
}
<configurer>
<class>JdbcHazelcastConfigurer</class>
<autoDiscoveryEnabled>false</autoDiscoveryEnabled>
<backupCount>0</backupCount>
<columnKeyType>string</columnKeyType>
<columnValueType>string</columnValueType>
<hazelcastProperties/>
<initialLoadMode>LAZY</initialLoadMode>
<jdbcDriver>string</jdbcDriver>
<jdbcPassword>string</jdbcPassword>
<jdbcUrl>string</jdbcUrl>
<jdbcUsername>string</jdbcUsername>
<jetEnabled>false</jetEnabled>
<maxPoolSize>0</maxPoolSize>
<queueStoreEnabled>false</queueStoreEnabled>
<sqlMerge>string</sqlMerge>
<tcpMembers>string</tcpMembers>
<writeBatchSize>0</writeBatchSize>
<writeCoalescing>false</writeCoalescing>
<writeDelaySeconds>0</writeDelaySeconds>
</configurer>
Properties
| Property | Type | Required | Default |
|---|---|---|---|
autoDiscoveryEnabled | boolean | No | false |
backupCount | integer | No | -1 |
columnKeyType | string | No | VARCHAR(4096) |
columnValueType | string | No | TEXT |
hazelcastProperties | Record<string, string> | No | - |
initialLoadMode | enum | No | LAZY |
jdbcDriver | string | No | - |
jdbcPassword | string | No | - |
jdbcUrl | string | No | - |
jdbcUsername | string | No | sa |
jetEnabled | boolean | No | - |
maxPoolSize | integer | No | 0 |
queueStoreEnabled | boolean | No | true |
sqlMerge | string | No | - |
tcpMembers | string | No | - |
writeBatchSize | integer | No | 100 |
writeCoalescing | boolean | No | true |
writeDelaySeconds | integer | No | 5 |
Property Details
autoDiscoveryEnabled
When enabled, Hazelcast uses automatic member discovery in clustered mode instead of the explicit tcpMembers list. Default is false.
backupCount
The number of synchronous data backups in the Hazelcast cluster. Default (-1) means automatic: 0 for standalone mode, 1 for clustered mode.
columnKeyType
The SQL column type used for map and queue keys in the JDBC store schema. Default is VARCHAR(4096).
columnValueType
The SQL column type used for map values in the JDBC store schema. Default is TEXT.
hazelcastProperties
Additional Hazelcast properties to set on the configuration. These are passed directly to the Hazelcast instance and can override any internal defaults.
initialLoadMode
Controls when the Hazelcast map store loads data from the JDBC database. LAZY (default) defers loading until entries are accessed. EAGER loads all entries at cluster startup.
Allowed Values
LAZYEAGER
jdbcDriver
The JDBC driver class name. When not set, HikariCP attempts to auto-detect the driver from the JDBC URL.
jdbcPassword
The JDBC database password. Defaults to an empty string (the H2 default).
jdbcUrl
The JDBC connection URL for the data store. In standalone mode, defaults to an embedded H2 file database in the crawler work directory. In clustered mode, this must be set explicitly to point to a shared external database.
jdbcUsername
The JDBC database username. Defaults to "sa" (the H2 default).
jetEnabled
Whether the Hazelcast Jet engine is enabled. Default (null) enables Jet for backward compatibility. Set to false when Jet is unused and a leaner cluster runtime is preferred.
maxPoolSize
The maximum JDBC connection pool size. Default (0) means automatic: 10 for standalone mode, 20 for clustered mode.
queueStoreEnabled
Whether to enable the queue store for persistence.
sqlMerge
The SQL upsert template used for map stores. The token {tableName} is replaced at runtime. Defaults to H2 MERGE … KEY … syntax for standalone mode and PostgreSQL INSERT … ON CONFLICT … syntax for clustered mode. Override for other database dialects.
tcpMembers
A comma-separated list of host:port addresses for TCP/IP member discovery in clustered mode (e.g., "192.168.1.10:5701,192.168.1.11:5701"). Defaults to local addresses when in clustered mode.
writeBatchSize
The batch size for write operations to the database.
writeCoalescing
Whether to coalesce write operations for better performance.
writeDelaySeconds
The write-behind delay in seconds. A value of 0 makes writes synchronous (write-through). Default is 5, which batches writes for better throughput. Pipeline coordination maps always use write-through regardless of this setting.