atoti_jdbc.JdbcPingDiscoveryProtocol#

final class atoti_jdbc.JdbcPingDiscoveryProtocol#

Discovery protocol relying on a JDBC connection.

The set of nodes is stored in a database table, allowing each node to join the cluster without having to know any other node.

delete_single_sql: str | None = None#
driver: Annotated[str | None, AfterValidator(_validate_driver)] = None#

The Java class name of the driver to use.

This defines Hibernate’s DRIVER option.

Inferred from url if None.

initialize_sql: str | None = None#
insert_single_sql: str | None = None#
password: str#
remove_all_data_on_view_change: bool = True#

“Defined by the FILE_PING protocol.

See http://jgroups.org/manual4/index.html#_removal_of_zombie_files.

remove_old_coords_on_view_change: bool = True#

“Defined by the FILE_PING protocol.

See http://jgroups.org/manual4/index.html#_removal_of_zombie_files.

select_all_pingdata_sql: str | None = None#
url: Annotated[str, AfterValidator(normalize_jdbc_url)]#

The JDBC connection string of the database.

The "jdbc" scheme is optional but the database specific scheme (such as "h2" or "mysql") is mandatory. For instance:

  • "h2:/home/user/database/file/path;USER=username;PASSWORD=passwd"

  • "mysql://localhost:7777/example?user=username&password=passwd"

  • "postgresql://postgresql.db.server:5430/example?user=username&password=passwd"

More examples can be found here.

This defines Hibernate’s URL option.

username: str#
write_data_on_find: bool = True#

“Defined by the FILE_PING protocol.

See http://jgroups.org/manual4/index.html#_removal_of_zombie_files.