Exposed backend core
Latest stable Based on Leader release 0.4.0
Library module
Problem
Section titled “Problem”Defines the shared SQL schema, table mappings, retry policy, history codec, and migrations used by JDBC and R2DBC electors. Applications normally select an adapter instead.
When to use it
Section titled “When to use it”Use it directly when your team owns schema migration or builds a custom SQL adapter.
Coordinates
Section titled “Coordinates”Artifact: io.github.bluetape4k.leader:bluetape4k-leader-exposed-core
dependencies { implementation(platform("io.github.bluetape4k:bluetape4k-dependencies:<version>")) implementation("io.github.bluetape4k.leader:bluetape4k-leader-exposed-core")}Core concepts
Section titled “Core concepts”Lock, group-slot, and history tables share keys and expiry rules. Conditional SQL transactions provide ownership; retry handles transient conflicts.
Quick start
Section titled “Quick start”dependencies { implementation(platform("io.github.bluetape4k:bluetape4k-dependencies:<version>")) implementation("io.github.bluetape4k.leader:bluetape4k-leader-exposed-jdbc")}API by task
Section titled “API by task”ExposedLeaderSchema, table objects, and RetryStrategy are the main support APIs. Adapter initializers are the normal application entry point.
Recommended patterns
Section titled “Recommended patterns”Give schema creation to one deployment step, keep a dedicated namespace, preserve unique keys, and apply migrations before application rollout.
Integrations
Section titled “Integrations”JDBC and R2DBC share these tables and metadata formats; consistent configuration lets both observe the same logical namespace.
Configuration
Section titled “Configuration”Adapters own schema names and retry settings. Database clock, isolation, timeout, and pool sizing remain application responsibilities.
Failure modes
Section titled “Failure modes”Missing tables and permission errors are deployment failures, not contention. Serialization conflicts may retry; malformed migration state must surface.
Operations
Section titled “Operations”Monitor table growth, history retention, dead tuples, and database latency. Never delete a row from application-local time alone.
Testing
Section titled “Testing”Run schema tests per dialect and verify JDBC/R2DBC agree on keys, expiry units, and metadata.
Workshops and learning path
Section titled “Workshops and learning path”Read this before JDBC/R2DBC when migration ownership is separate. The migration-gate example shows election around deployment work.
Limitations
Section titled “Limitations”This is not a complete elector and selects no driver, pool, or transaction manager.
Release diagrams
Section titled “Release diagrams”These diagrams are loaded directly from README assets published with the 0.4.0 release and pinned to its immutable commit. They describe this manual’s released structure and runtime flows, not later Snapshot changes. Select a preview to open the SVG at the same release commit.
leader exposed core ERD diagram
Section titled “leader exposed core ERD diagram”Release README: leader-exposed-core/README.md
