Package com.tnsai.spi

Class ResilienceStrategy.Builder

java.lang.Object
com.tnsai.spi.ResilienceStrategy.Builder
Enclosing interface:
ResilienceStrategy

public static class ResilienceStrategy.Builder extends Object
Builder for creating composite resilience strategies.
  • Constructor Details

    • Builder

      public Builder()
  • Method Details

    • retry

      public ResilienceStrategy.Builder retry(int maxRetries, Duration initialDelay)
      Configures retry behavior.
      Parameters:
      maxRetries - maximum retry attempts
      initialDelay - initial delay between retries
      Returns:
      this builder
    • retry

      public ResilienceStrategy.Builder retry(int maxRetries, Duration initialDelay, double multiplier)
      Configures retry with exponential backoff.
      Parameters:
      maxRetries - maximum retry attempts
      initialDelay - initial delay between retries
      multiplier - backoff multiplier
      Returns:
      this builder
    • circuitBreaker

      public ResilienceStrategy.Builder circuitBreaker(int failureThreshold, Duration resetTimeout)
      Configures circuit breaker behavior.
      Parameters:
      failureThreshold - failures before opening circuit
      resetTimeout - time before attempting to close circuit
      Returns:
      this builder
    • timeout

      public ResilienceStrategy.Builder timeout(Duration timeout)
      Configures timeout behavior.
      Parameters:
      timeout - maximum execution time
      Returns:
      this builder
    • fallback

      public <T> ResilienceStrategy.Builder fallback(Supplier<T> fallback)
      Configures fallback behavior.
      Type Parameters:
      T - result type
      Parameters:
      fallback - supplier for fallback value
      Returns:
      this builder
    • build

      public ResilienceStrategy build()
      Builds the composite resilience strategy.
      Returns:
      configured strategy