Class RelayOptions

java.lang.Object
at.aimon.memory.postgres.RelayOptions

public final class RelayOptions extends Object
Immutable configuration for KnowledgeStoreOutboxRelay.

Use defaults() for sensible defaults, or build a custom instance via builder(). Field meanings:

  • pollBatchSize — max rows claimed per drainOnce() pass (default 32).
  • claimDurationSeconds — how long a claimed row remains hidden from other workers via claimed_until (default 60).
  • pollIntervalMillis — sleep between polls in the background loop (default 500).
  • maxAttempts — after this many failed dispatches the row is marked as a poison pill and excluded from drain (default 10).
  • nodeId — value written to claimed_by so concurrent relays in different processes can be told apart (default "node-" + UUID).
  • Field Details

    • DEFAULT_POLL_BATCH_SIZE

      public static final int DEFAULT_POLL_BATCH_SIZE
      Default batch size per drain pass.
      See Also:
    • DEFAULT_CLAIM_DURATION_SECONDS

      public static final int DEFAULT_CLAIM_DURATION_SECONDS
      Default claim duration in seconds.
      See Also:
    • DEFAULT_POLL_INTERVAL_MILLIS

      public static final long DEFAULT_POLL_INTERVAL_MILLIS
      Default poll interval in milliseconds.
      See Also:
    • DEFAULT_MAX_ATTEMPTS

      public static final int DEFAULT_MAX_ATTEMPTS
      Default maximum dispatch attempts before poison-pilling a row.
      See Also:
  • Method Details

    • defaults

      public static RelayOptions defaults()
      Returns options with documented defaults.
      Returns:
      default RelayOptions
    • builder

      public static RelayOptions.Builder builder()
      Returns a fresh builder pre-populated with default values.
      Returns:
      a new builder
    • getPollBatchSize

      public int getPollBatchSize()
    • getClaimDurationSeconds

      public int getClaimDurationSeconds()
    • getPollIntervalMillis

      public long getPollIntervalMillis()
    • getMaxAttempts

      public int getMaxAttempts()
    • getNodeId

      public String getNodeId()
    • toString

      public String toString()
      Overrides:
      toString in class Object