Resilience Config
@Serializable
Declarative, externalizable configuration for named resilience instances (the application.yml-style equivalent of the programmatic DSLs).
Durations: ISO-8601 ("PT30S") in JSON; ISO or Kotlin forms (30s, 1m) in properties. Load from JSON via fromJson, from flat properties via fromProperties (YAML/Spring application.properties flattened to Map<String, String>), then build live instances with ResilienceInstances.create.
Property key format: <kind>.<name>.<setting>, with kinds circuitBreaker, bulkhead, rateLimiter, timeLimiter, e.g. circuitBreaker.payments.failureThreshold=3.
val config = ResilienceConfig.fromJson("""
{"circuitBreakers":{"payments":{"failureThreshold":3,"resetTimeout":"10s"}}}
""")
val instances = ResilienceInstances.create(config)
instances.circuitBreaker("payments").execute { call() }Content copied to clipboard
Constructors
Link copied to clipboard
constructor(circuitBreakers: Map<String, CircuitBreakerSettings> = emptyMap(), bulkheads: Map<String, BulkheadSettings> = emptyMap(), rateLimiters: Map<String, RateLimiterSettings> = emptyMap(), timeLimiters: Map<String, TimeLimiterSettings> = emptyMap())
Types
Link copied to clipboard
object Companion
Factories for ResilienceConfig.