ProcessedEvent

Persistence-agnostic record of an event already processed by a Kafka consumer group. Backbone of the consumer-side idempotent receiver pattern (Hohpe & Woolf, Enterprise Integration Patterns).

The pair (eventId, consumerGroup) is the natural unique key — the same event may legitimately be processed by multiple distinct consumer groups, but never twice within the same group.

Inheritors

Properties

Link copied to clipboard
abstract val consumerGroup: String

Kafka consumer group that processed the event (one row per (eventId, consumerGroup)).

Link copied to clipboard
abstract val eventId: String

Inbound eventId Kafka header value being marked as processed.

Link copied to clipboard
abstract val id: Long?

Storage-assigned surrogate id; null until the row is first persisted.

Link copied to clipboard
abstract val processedAt: Instant

Instant the row was inserted, i.e. when processing completed.