Я не верю, что есть какая-либо конфигурация, которую вы можете сделать из коробки для достижения этой цели, однако вы должны быть в состоянии написать свою собственную точку исцеления, которая достигает этого. Ниже работает для меня.
Пружина 1.5.x
@Component
public class InfoHealthEndpoint extends HealthEndpoint {
@Autowired
private InfoEndpoint infoEndpoint;
public InfoHealthEndpoint(HealthAggregator healthAggregator, Map<String, HealthIndicator> healthIndicators) {
super(healthAggregator, healthIndicators);
}
@Override
public Health invoke() {
Health health = super.invoke();
return new Health.Builder(health.getStatus(), health.getDetails())
.withDetail("info", infoEndpoint.invoke())
.build();
}
}
Пружина 2.x
public class InfoHealthEndpoint extends HealthEndpoint {
private InfoEndpoint infoEndpoint;
public InfoHealthEndpoint(HealthIndicator healthIndicator, InfoEndpoint infoEndpoint) {
super(healthIndicator);
this.infoEndpoint = infoEndpoint;
}
@Override
@ReadOperation
public Health health() {
Health health = super.health();
return new Health.Builder(health.getStatus(), health.getDetails())
.withDetail("info", this.infoEndpoint.info())
.build();
}
}
@Configuration
class HealthEndpointConfiguration {
@Bean
@ConditionalOnEnabledEndpoint
public HealthEndpoint healthEndpoint(HealthAggregator healthAggregator,
HealthIndicatorRegistry registry, InfoEndpoint infoEndpoint) {
return new InfoHealthEndpoint(
new CompositeHealthIndicator(healthAggregator, registry), infoEndpoint);
}
}
Тогда, если вам нужно добавить это к нескольким микросервисам, вы сможете просто создать свой собственный jar-файл, который автоматически конфигурирует эту конечную точку для замены проверки работоспособности по умолчанию для исполнительных механизмов.