Skip to content

Add Blackboard prod JDBC persistence configuration - #2070

Open
igordayen wants to merge 1 commit into
mainfrom
feature/jdbc-snapshot-persistence
Open

igordayen wants to merge 1 commit into
mainfrom
feature/jdbc-snapshot-persistence

Conversation

@igordayen

Copy link
Copy Markdown
Contributor

Overview

  • Add embabel-agent-jdbc, embabel-agent-jdbc-autoconfigure, and embabel-agent-starter-jdbc — production-ready JDBC blackboard persistence with JdbcAgentProcessSnapshotStore, Spring Boot autoconfiguration (provider=jdbc), and PostgreSQL schema
  • Rename HITL MVC integration tests to Hitl*PersistenceMvcIntegrationTest, verify awaitable identity survives pod loss
  • Update persistence/page.adoc with JDBC quick-start and architecture guidance

Summary

  • Productizes JDBC blackboard persistence; see modules: embabel-agent-jdbc (store impl),
    embabel-agent-jdbc-autoconfigure (Spring Boot autoconfig, provider=jdbc),
    embabel-agent-starter-jdbc (convenience starter).
  • JdbcAgentProcessSnapshotStore uses optimistic locking (CAS on version column);
    InMemoryAgentProcessRepository + JDBC snapshot store is the production-ready HITL pattern.
  • HitlJdbcPersistenceMvcIntegrationTest verifies that awaitableId survives
    serialize/restore across a simulated pod loss. save calls in test controllers are annotated
    // test only — the platform's checkpoint policy automates persistence writes in production.
  • persistence/page.adoc updated: adds JDBC quick-start, clarifies runtime architecture and current limitations.

Closes #2048

  - Add embabel-agent-jdbc, embabel-agent-jdbc-autoconfigure, and embabel-agent-starter-jdbc — production-ready JDBC blackboard
    persistence with JdbcAgentProcessSnapshotStore, Spring Boot autoconfiguration (provider=jdbc), and PostgreSQL schema
  - Rename HITL MVC integration tests to Hitl*PersistenceMvcIntegrationTest, verify awaitable identity survives pod loss
  - Update persistence/page.adoc with JDBC quick-start and architecture guidance
@igordayen igordayen added the enhancement New feature or request label Sep 25, 2026
@igordayen igordayen added this to the 1.5.3-Release🔵 milestone Sep 25, 2026
@sonarqubecloud

Copy link
Copy Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

1 participant