gpt4 book ai didi

java - 使用参数装饰 Resilience4j 断路器中的功能

转载 作者:行者123 更新时间:2023-12-04 04:09:48 28 4
gpt4 key购买 nike

我想用最新的 Resilience4j 断路器来装饰我的服务调用,我当前的代码如下所示:

@Bean
public Function<MyObject1, MyObject2> decoratedFunction(MyService myService) {
CircuitBreakerRegistry registry = CircuitBreakerRegistry.ofDefaults();
CircuitBreaker circuitBreaker = registry.circuitBreaker("circuitBreaker");
//decorateFunction method no longer exists :/
return circuitBreaker.decorateFunction((myObject1) -> myService.makeACall(myObject1))
}

曾经有一个方法叫 decorateFunction我很想使用它,但由于未知原因,它在最新版本的弹性 4j 中被删除(我使用的是最新的 1.4 版本)

任何人都知道为什么这个功能被删除,目前的替代品是什么?
我看到有像 decorateSupplier 这样的方法但我需要将参数传递给我的服务(在供应商的情况下不允许这样做)

最佳答案

请使用我们的 Spring Boot Starter,而不是创建您自己的 CircuitBreakerRegistry。
然后将自动创建的 CircuitBreakerRegistry 注入(inject)您的代码并检索 CircuitBreaker 实例。

CircuitBreaker circuitBreaker = registry.circuitBreaker("circuitBreaker");

在您的服务代码中执行:
public MyObject2 makeACall(MyObject1 myObject1) {
return circuitBreaker.executeSupplier(() -> myService.makeACall(myObject1))
}

关于java - 使用参数装饰 Resilience4j 断路器中的功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61935147/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com