我用的是带有弹簧启动和千分尺的骆驼。在我的一条线路中,我使用带Resilience4j的断路器:
.circuitBreaker()
.resilience4jConfiguration()
.timeoutEnabled(true)
.timeoutDuration(2000)
.end()我用的是弹簧管理的千分尺。在使用Hystrix迁移到resilience4j之前,我可以简单地将它绑定到我的千分尺注册表:
@Configuration()
public class MetricsRegistryBuilder {
@Bean
HystrixMetricsBinder registerHystrixMetricsBinder() {
return new HystrixMetricsBinder();
}
}不幸的是,对于Resilience4j,不存在绑定器。有一些关于如何将Resilience4j CircuitBreakerRegistry绑定到千分尺:https://resilience4j.readme.io/docs/micrometer的文档,以及如何使用Spring:https://resilience4j.readme.io/docs/getting-started-3进行绑定
我试着简单地将Resilience4j CircuitBreakerRegistry自动调到千分尺:
@Configuration()
public class MetricsRegistryBuilder {
@Autowired
private CircuitBreakerRegistry circuitBreakerRegistry;
}不幸的是,Spring没有找到CircuitBreakerRegistry Bean。
因此,我的问题是,如何将CircuitBreakerRegistry (或者更抽象的Resilience4j度量)绑定到千分尺中?
我能想到的唯一其他可能的解决方案是手动管理所有Resilience4j配置,定义bean,并将其交给我的Camel配置。不过,在我看来,考虑到绑定我的Resilience4j度量的简单任务,很多工作和样板代码似乎都是这样。
我正在使用以下版本:
2.3.3.RELEASE
另外,我使用的是骆驼弹簧启动程序依赖关系:
<dependency>
<groupId>org.apache.camel.springboot</groupId>
<artifactId>camel-micrometer-starter</artifactId>
</dependency>
<dependency>
<groupId>org.apache.camel.springboot</groupId>
<artifactId>camel-resilience4j-starter</artifactId>
</dependency>发布于 2020-09-04 07:12:21
为什么你不能使用我们的Spring 2启动器?初学者自动配置CircuitBreakerRegistry、MeterRegistry并允许外部配置。
https://stackoverflow.com/questions/63682180
复制相似问题