Package io.outbox.spi

Interface EventPurger

All Known Implementing Classes:
AbstractJdbcAgeBasedPurger, AbstractJdbcEventPurger, H2AgeBasedPurger, H2EventPurger, MySqlAgeBasedPurger, MySqlEventPurger, PostgresAgeBasedPurger, PostgresEventPurger

public interface EventPurger
Deletes terminal outbox events (DONE and DEAD) older than a given cutoff.

The outbox is a transient buffer, not an event store. Events that have reached a terminal state should be purged after a retention period to prevent table bloat. If clients need to archive events for audit, they should do so in their EventListener.

All methods receive an explicit Connection so the caller controls transaction boundaries. Implementations live in the outbox-jdbc module.

See Also:
  • Method Summary

    Modifier and Type
    Method
    Description
    int
    purge(Connection conn, Instant before, int limit)
    Deletes terminal events (DONE + DEAD) created before the given cutoff.
  • Method Details

    • purge

      int purge(Connection conn, Instant before, int limit)
      Deletes terminal events (DONE + DEAD) created before the given cutoff.
      Parameters:
      conn - the JDBC connection (caller controls transaction)
      before - delete events where done_at < before (or created_at < before if done_at is null)
      limit - maximum number of rows to delete in this batch
      Returns:
      the number of rows actually deleted