Class SagaServiceBuilder

java.lang.Object
org.j7m.middleware.saga.SagaServiceBuilder

public final class SagaServiceBuilder extends Object
Builder for LogBackedSagaService.

The builder is mutable and intended for single-threaded service construction. The built service owns local durable-log and outbox resources under the configured directory.

  • Constructor Details

    • SagaServiceBuilder

      public SagaServiceBuilder()
      Creates a builder with default limits.
  • Method Details

    • directory

      public SagaServiceBuilder directory(Path value)
      Sets the root service directory.
      Parameters:
      value - root directory for durable saga state
      Returns:
      this builder
    • clock

      public SagaServiceBuilder clock(Clock value)
      Sets the deterministic service clock.
      Parameters:
      value - clock used for timeout and retry decisions
      Returns:
      this builder
    • maxActiveSagas

      public SagaServiceBuilder maxActiveSagas(int value)
      Sets max active sagas.
      Parameters:
      value - maximum non-terminal executions
      Returns:
      this builder
    • maxStepsPerSaga

      public SagaServiceBuilder maxStepsPerSaga(int value)
      Sets max steps per definition.
      Parameters:
      value - maximum number of steps accepted in one definition
      Returns:
      this builder
    • maxRetryAttempts

      public SagaServiceBuilder maxRetryAttempts(int value)
      Sets max retry attempts.
      Parameters:
      value - maximum retry attempts accepted by policies
      Returns:
      this builder
    • maxPendingOutboxCommands

      public SagaServiceBuilder maxPendingOutboxCommands(int value)
      Sets max pending outbox commands.
      Parameters:
      value - maximum pending durable outbox commands
      Returns:
      this builder
    • maxCommandPayloadBytes

      public SagaServiceBuilder maxCommandPayloadBytes(int value)
      Sets max command payload bytes.
      Parameters:
      value - maximum accepted command payload bytes
      Returns:
      this builder
    • build

      public LogBackedSagaService build()
      Builds and recovers a service.
      Returns:
      opened service after durable state recovery