【发布时间】:2020-05-29 15:58:40
【问题描述】:
我正在尝试使用 Resilience4j 功能。
我的用例是结合 3 个模块:
- 断路器
- 重试
- 限时器
我想组合所有这些模块并只执行一次方法。
代码
这是我尝试过的。
Supplier<R> supplier = this::doSomething;
timeLimiter.executeFutureSupplier(() -> CompletableFuture.supplyAsync(supplier));
return Decorators.ofSupplier(supplier)
.withCircuitBreaker(circuitBreaker)
.withRetry(retry)
.withBulkhead(bulkhead)
.decorate();
问题
我的 doSomething() 方法执行两次而不是预期的一次。
之前有人见过这个问题吗?
【问题讨论】:
标签: execution circuit-breaker resilience4j time-limiting resilience4j-retry