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 TypeMethodDescriptionintpurge(Connection conn, Instant before, int limit) Deletes terminal events (DONE + DEAD) created before the given cutoff.
-
Method Details
-
purge
Deletes terminal events (DONE + DEAD) created before the given cutoff.- Parameters:
conn- the JDBC connection (caller controls transaction)before- delete events wheredone_at < before(orcreated_at < beforeifdone_atis null)limit- maximum number of rows to delete in this batch- Returns:
- the number of rows actually deleted
-