首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >resilience4j重试改造

resilience4j重试改造
EN

Stack Overflow用户
提问于 2020-11-24 23:27:24
回答 1查看 176关注 0票数 1

有没有办法以类似于circuitBreacker的方式添加重试配置?

代码语言:javascript
复制
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()

我想使用的重试配置是这样的:

代码语言:javascript
复制
val retryConfig = RetryConfig.custom<Any>()
        .maxAttempts(3)
        .waitDuration(Duration.ofSeconds(120))
        .retryExceptions(RuntimeException::class.java)
        .build()
EN

回答 1

Stack Overflow用户

发布于 2021-07-06 18:10:34

是的,你可以

代码语言:javascript
复制
private Retrofit buildRetrofitWithRetry(
        final OkHttpClient okHttpClient, final String baseUrl) {
    return new Retrofit.Builder()
            .client(okHttpClient)
            .addCallAdapterFactory(RetryCallAdapter.of(retry))
            .baseUrl(baseUrl)
            .addConverterFactory(JacksonConverterFactory.create())
            .build();
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64989601

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档