【发布时间】:2021-03-07 10:02:53
【问题描述】:
有没有办法以类似于 circuitBreacker 的方式添加重试配置?
val circuitBreakerConfig = CircuitBreakerConfig.custom()
.slidingWindowType(CircuitBreakerConfig.SlidingWindowType.COUNT_BASED)
.failureRateThreshold(10.0F)
.build()
val circuitBreaker = CircuitBreaker.of("name", circuitBreakerConfig)
val retrofit = Retrofit.Builder()
.baseUrl(baseUrl)
.addCallAdapterFactory(
CircuitBreakerCallAdapter.of(circuitBreaker) {
it.code() == 500
}
).addConverterFactory(GsonConverterFactory.create())
.client(httpClient)
.build()
我想使用的重试配置是这样的:
val retryConfig = RetryConfig.custom<Any>()
.maxAttempts(3)
.waitDuration(Duration.ofSeconds(120))
.retryExceptions(RuntimeException::class.java)
.build()
【问题讨论】:
标签: java kotlin retrofit2 resilience4j