Skip to content

Java SDK

The Java SDK provides programmatic access to EventSourcingDB from Java applications. It offers a convenient interface for writing, reading, and observing events without having to interact with the HTTP API directly.

Partner SDK

This SDK is developed and maintained by Digital Frontiers GmbH & Co. KG, a trusted partner of the EventSourcingDB team. It has been reviewed and recommended as a high-quality integration, but it is not maintained by the creators of EventSourcingDB.

Installation

To install the SDK, add the following line to your build.gradle.kts file:

implementation("com.opencqrs:esdb-client-spring-boot-starter:1.0-rc3")

You can also find this SDK on Maven Central.

Capabilities

This SDK intentionally focuses on application-level use cases. It provides core functionality for writing, reading, and observing events, and deliberately excludes operational concerns such as backup, restore, or health monitoring.

For a detailed explanation of the specific requirements behind each capability, see the Compliance Criteria.

Version Information

The list is based on SDK version 1.0.0, tested against EventSourcingDB 1.2.0, verified on November 3rd, 2025.

Essentials

Initialize the Client
Ping the Server
Verify API Token

Writing Events

Write Single Events
Write Multiple Events
Use isSubjectPristine
Use isSubjectPopulated
Use isSubjectOnEventId
Use isEventQlQueryTrue
Include OpenTelemetry Trace Context

Reading Events

Read Events by Subject
Read Recursively
Read Chronological and Anti-Chronological
Use Boundaries
Use fromLatestEvent

Using EventQL

Execute EventQL Queries

Observing Events

Observe Events By Subject
Observe Recursively
Use Boundaries
Use fromLatestEvent

Metadata and Discovery

Register Event Schemas
List Subjects
List Event Types
List a Specific Event Type
Verify Event Hashes
Verify Event Signatures

Testcontainers Support

Explicit Testcontainers support is not included yet. However, you can see how to run EventSourcingDB with Testcontainers in this example.

Documentation

Refer to the SDK's GitHub repository for detailed usage instructions, code examples, and API reference.

Further Resources