der*_*ink 6 java spring-boot spring-boot-actuator resilience4j
我有一个 Spring Boot 应用程序,它使用基于resilience4j AOP 的@CircuitBreakers。
现在我想在端点中提供断路器的信息/actuator/health,但我没有在 JSON 输出中看到文档中描述的details.circuitBtreakers对象。
相比之下,让动态缓存信息出现在/actuator/metrics端点中需要少量的自定义连接,但这是有详细记录的。我想知道是否有类似的技巧可以应用于动态定义的@CircuitBreaker端点注册/actuator/health。
MyService.java:
@Service
public class MyService {
@Autowired
private CacheManager cacheManager;
@Autowired
private CacheMetricsRegistrar cacheMetricsRegistrar;
@PostConstruct
public void postConstruct() {
// On-the-fly defined (annotation-based) caches are not auto-registered with micrometer metrics.
final Cache cache = cacheManager.getCache("myCache");
cacheMetricsRegistrar.bindCacheToRegistry(cache);
}
@CircuitBreaker(name = "myCB", fallbackMethod = "fallbackCallAnApi")
public String callAnApi() throws RestClientException {
// ...
}
@Cacheable("myCache")
public String getSomethingCacheable() {
// ...
}
}
Run Code Online (Sandbox Code Playgroud)
application.properties:
resilience4j.circuitbreaker.configs.default.registerHealthIndicator=true
management.endpoints.web.expose=health,metrics
management.endpoints.web.exposure.include=health,metrics
management.endpoint.health.enabled=true
management.endpoint.metrics.enabled=true
management.metrics.enable.resilience4j.circuitbreaker.calls=true
management.health.circuitbreakers.enabled=true
Run Code Online (Sandbox Code Playgroud)
小智 5
为 HealthIndicator 端点动态注册 CircuitBreakers 目前不起作用。不幸的是你必须配置它们:
resilience4j.circuitbreaker:
configs:
default:
registerHealthIndicator: true
instances:
myCB:
baseConfig: default
Run Code Online (Sandbox Code Playgroud)
你可以说这是一个错误。
| 归档时间: |
|
| 查看次数: |
8366 次 |
| 最近记录: |