Package io.hekate.cluster.seed.jdbc
Class JdbcSeedNodeProviderConfig
- java.lang.Object
-
- io.hekate.cluster.seed.jdbc.JdbcSeedNodeProviderConfig
-
public class JdbcSeedNodeProviderConfig extends Object
Configuration forJdbcSeedNodeProvider
.Database structure
By default the following database table should exist in the target database:
CREATE TABLE cluster_nodes ( namespace VARCHAR, host VARCHAR, port NUMBER )
It is possible to modify table and column names by using the following properties:
setTable(String)
- table name (default is "cluster_nodes")setNamespaceColumn(String)
- column to store cluster namespace (default is "cluster_namespace")setHostColumn(String)
- column to store host address (default is "host")setPortColumn(String)
- column to store port value (default is "port")
Database connectivity
Database connectivity is controlled by the following properties:
setDataSource(DataSource)
- JDBC datasource to be used for obtaining database connectionssetQueryTimeout(int)
- optional timeout value for SQL queries (seeStatement.setQueryTimeout(int)
)
- See Also:
JdbcSeedNodeProvider
-
-
Field Summary
Fields Modifier and Type Field Description static long
DEFAULT_CLEANUP_INTERVAL
Default value (=60000L) forsetCleanupInterval(long)
.static String
DEFAULT_HOST_COLUMN
Default value (="host") forsetHostColumn(String)
.static String
DEFAULT_NAMESPACE_COLUMN
Default value (="cluster_namespace") forsetNamespaceColumn(String)
.static String
DEFAULT_PORT_COLUMN
Default value (="port") forsetPortColumn(String)
.static String
DEFAULT_TABLE
Default value (="cluster_nodes") forsetTable(String)
.
-
Constructor Summary
Constructors Constructor Description JdbcSeedNodeProviderConfig()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description long
getCleanupInterval()
Returns the time interval in milliseconds between stale node cleanup runs (seesetCleanupInterval(long)
).DataSource
getDataSource()
Returns the data source (seesetDataSource(DataSource)
).String
getHostColumn()
Returns the host column name (seesetHostColumn(String)
).String
getNamespaceColumn()
Returns the cluster column name (seesetNamespaceColumn(String)
).String
getPortColumn()
Returns the port column name (seesetPortColumn(String)
).int
getQueryTimeout()
Returns the JDBC query timeout (seesetQueryTimeout(int)
).String
getTable()
Returns the table name (seesetTable(String)
).void
setCleanupInterval(long cleanupInterval)
Sets the time interval in milliseconds between stale node cleanup runs.void
setDataSource(DataSource dataSource)
Sets the data source.void
setHostColumn(String hostColumn)
Sets the host column name.void
setNamespaceColumn(String namespaceColumn)
Sets the cluster column name.void
setPortColumn(String portColumn)
Sets the port column name.void
setQueryTimeout(int queryTimeout)
Sets the JDBC query timeout value in seconds.void
setTable(String table)
Sets the table name.String
toString()
JdbcSeedNodeProviderConfig
withCleanupInterval(long cleanupInterval)
Fluent-style version ofsetCleanupInterval(long)
.JdbcSeedNodeProviderConfig
withDataSource(DataSource dataSource)
Fluent-style version ofsetDataSource(DataSource)
.JdbcSeedNodeProviderConfig
withHostColumn(String hostColumn)
Fluent-style version ofsetHostColumn(String)
.JdbcSeedNodeProviderConfig
withNamespaceColumn(String namespaceColumn)
Fluent-style version ofsetNamespaceColumn(String)
.JdbcSeedNodeProviderConfig
withPortColumn(String portColumn)
Fluent-style version ofsetPortColumn(String)
.JdbcSeedNodeProviderConfig
withQueryTimeout(int queryTimeout)
Fluent-style version ofsetQueryTimeout(int)
.JdbcSeedNodeProviderConfig
withTable(String table)
Fluent-style version ofsetTable(String)
.
-
-
-
Field Detail
-
DEFAULT_CLEANUP_INTERVAL
public static final long DEFAULT_CLEANUP_INTERVAL
Default value (=60000L) forsetCleanupInterval(long)
.- See Also:
- Constant Field Values
-
DEFAULT_TABLE
public static final String DEFAULT_TABLE
Default value (="cluster_nodes") forsetTable(String)
.- See Also:
- Constant Field Values
-
DEFAULT_HOST_COLUMN
public static final String DEFAULT_HOST_COLUMN
Default value (="host") forsetHostColumn(String)
.- See Also:
- Constant Field Values
-
DEFAULT_PORT_COLUMN
public static final String DEFAULT_PORT_COLUMN
Default value (="port") forsetPortColumn(String)
.- See Also:
- Constant Field Values
-
DEFAULT_NAMESPACE_COLUMN
public static final String DEFAULT_NAMESPACE_COLUMN
Default value (="cluster_namespace") forsetNamespaceColumn(String)
.- See Also:
- Constant Field Values
-
-
Method Detail
-
getDataSource
public DataSource getDataSource()
Returns the data source (seesetDataSource(DataSource)
).- Returns:
- Data source
-
setDataSource
public void setDataSource(DataSource dataSource)
Sets the data source.- Parameters:
dataSource
- Data source.
-
withDataSource
public JdbcSeedNodeProviderConfig withDataSource(DataSource dataSource)
Fluent-style version ofsetDataSource(DataSource)
.- Parameters:
dataSource
- Data source.- Returns:
- This instance.
-
getTable
public String getTable()
Returns the table name (seesetTable(String)
).- Returns:
- Table name.
-
setTable
public void setTable(String table)
Sets the table name.Default value of this parameter is "cluster_nodes".
- Parameters:
table
- Table name.
-
withTable
public JdbcSeedNodeProviderConfig withTable(String table)
Fluent-style version ofsetTable(String)
.- Parameters:
table
- Table name.- Returns:
- This instance.
-
getHostColumn
public String getHostColumn()
Returns the host column name (seesetHostColumn(String)
).- Returns:
- Host column name.
-
setHostColumn
public void setHostColumn(String hostColumn)
Sets the host column name.Default value of this parameter is "host".
- Parameters:
hostColumn
- Host column name.
-
withHostColumn
public JdbcSeedNodeProviderConfig withHostColumn(String hostColumn)
Fluent-style version ofsetHostColumn(String)
.- Parameters:
hostColumn
- Host column name.- Returns:
- This instance.
-
getPortColumn
public String getPortColumn()
Returns the port column name (seesetPortColumn(String)
).- Returns:
- Port column name.
-
setPortColumn
public void setPortColumn(String portColumn)
Sets the port column name.Default value of this parameter is "port".
- Parameters:
portColumn
- Port column name.
-
withPortColumn
public JdbcSeedNodeProviderConfig withPortColumn(String portColumn)
Fluent-style version ofsetPortColumn(String)
.- Parameters:
portColumn
- Port column name.- Returns:
- This instance.
-
getNamespaceColumn
public String getNamespaceColumn()
Returns the cluster column name (seesetNamespaceColumn(String)
).- Returns:
- Cluster column name.
-
setNamespaceColumn
public void setNamespaceColumn(String namespaceColumn)
Sets the cluster column name.Default value of this parameter is "cluster_namespace".
- Parameters:
namespaceColumn
- Cluster column name.
-
withNamespaceColumn
public JdbcSeedNodeProviderConfig withNamespaceColumn(String namespaceColumn)
Fluent-style version ofsetNamespaceColumn(String)
.- Parameters:
namespaceColumn
- Namespace column name.- Returns:
- This instance.
-
getQueryTimeout
public int getQueryTimeout()
Returns the JDBC query timeout (seesetQueryTimeout(int)
).- Returns:
- Timeout in seconds.
-
setQueryTimeout
public void setQueryTimeout(int queryTimeout)
Sets the JDBC query timeout value in seconds.If this parameter is set to a positive value then such timeout will be set via
Statement.setQueryTimeout(int)
for all database queries.- Parameters:
queryTimeout
- Timeout in seconds.
-
withQueryTimeout
public JdbcSeedNodeProviderConfig withQueryTimeout(int queryTimeout)
Fluent-style version ofsetQueryTimeout(int)
.- Parameters:
queryTimeout
- Timeout in seconds.- Returns:
- This instance.
-
getCleanupInterval
public long getCleanupInterval()
Returns the time interval in milliseconds between stale node cleanup runs (seesetCleanupInterval(long)
).- Returns:
- Time interval in milliseconds.
-
setCleanupInterval
public void setCleanupInterval(long cleanupInterval)
Sets the time interval in milliseconds between stale node cleanup runs.Default value of this parameter is 60000L.
For more details please see the documentation of
SeedNodeProvider
.- Parameters:
cleanupInterval
- Time interval in milliseconds.- See Also:
SeedNodeProvider.cleanupInterval()
-
withCleanupInterval
public JdbcSeedNodeProviderConfig withCleanupInterval(long cleanupInterval)
Fluent-style version ofsetCleanupInterval(long)
.- Parameters:
cleanupInterval
- Time interval in milliseconds.- Returns:
- This instance.
-
-