Enum Class OutboxRecord.Status

java.lang.Object
java.lang.Enum<OutboxRecord.Status>
com.aim2be.platform.outbox.OutboxRecord.Status
All Implemented Interfaces:
Serializable, Comparable<OutboxRecord.Status>, Constable
Enclosing class:
OutboxRecord

public static enum OutboxRecord.Status extends Enum<OutboxRecord.Status>
Per-row lifecycle.
  • PENDING — written by the producer transaction, not yet relayed.
  • SENT — successfully published to Kafka by either the AFTER_COMMIT relay or the poller worker.
  • FAILED — exceeded retry budget; awaits operator inspection.
  • ARCHIVED — retained past delivery window for audit; subject to pg_partman retention.
  • Enum Constant Details

  • Method Details

    • values

      public static OutboxRecord.Status[] values()
      Returns an array containing the constants of this enum class, in the order they are declared.
      Returns:
      an array containing the constants of this enum class, in the order they are declared
    • valueOf

      public static OutboxRecord.Status valueOf(String name)
      Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum class has no constant with the specified name
      NullPointerException - if the argument is null
    • isTerminal

      public boolean isTerminal()
      Returns:
      true when this status is a terminal state from the poller's perspective — i.e. the automatic poller MUST NOT re-attempt the row. SENT, ARCHIVED and FAILED are all terminal:
      • SENT / ARCHIVED succeeded.
      • FAILED exhausted its retry budget and now awaits operator inspection (which may manually reset FAILEDPENDING to re-enter the non-terminal lane).
      Only PENDING is non-terminal: the poller still owns its lifecycle.