반응형
Springboot 스프링 액추에이터 상태 끝점에서 Mongo 상태 표시기를 비활성화할 수 있습니까?
제가 연구하고 있는 스프링부트 프로젝트에는 spring-data-mongodb에 대한 과도적인 의존성이 있습니다.따라서 프로젝트에서 실제로 mongodb를 사용하지는 않지만 MongoHealthIndicator가 자동으로 활성화되는 것 같습니다.액추에이터 상태 끝점을 비활성화하지 않고 이 상태 표시기를 비활성화할 수 있습니까?제가 찾은 해결책은 종속성을 제외하는 것입니다.그런데 Mongo Health Indicator의 이 특정 비활성화를 할 수 있는지 궁금합니다.
시작:
http://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.html
# HEALTH INDICATORS (previously health.*)
...
management.health.mongo.enabled=true
...
상태 표시기를 비활성화하려면 이 값을 false로 설정할 수 있어야 합니다.org.springframework.boot.actuate에서.자동 구성상태 표시기자동 구성.자바
@Configuration
@ConditionalOnBean(MongoTemplate.class)
@ConditionalOnProperty(prefix = "management.health.mongo", name = "enabled", matchIfMissing = true)
public static class MongoHealthIndicatorConfiguration {
application.properties에서 사용해 보십시오.
management.health.mongo.enabled=false
application.properties
관리.health.mongo.enabled=false
endpoints.mongo.enabled=true
MongoDBHealthCheckEndPoint.java
@ConfigurationProperties(prefix = "endpoints.mongo", ignoreUnknownFields = true)
@Component
public class MongoDBHealthCheckEndPoint extends AbstractEndpoint<Map<String, String>>
{
@Inject
MongoTemplate mongoTemplate;
private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
private static final Map<String, String> UP = new HashMap<String, String>() {{
put("mongo.status", "UP");
}};
private static final Map<String, String> DOWN = new HashMap<String, String>() {{
put("mongo.status", "DOWN");
}};
public MongoDBHealthCheckEndPoint() {
super("mongo", false);
}
public MongoDBHealthCheckEndPoint(Map<String, ? extends Object> mongo) {
super("mongo", false);
}
public Map<String, String> invoke() {
try {
return (new MongoHealthIndicator(mongoTemplate).health().getStatus().equals(Status.UP)) ? UP : DOWN;
} catch (Exception e) {
log.error("mongo database is down", e);
return DOWN;
}
}
}
언급URL : https://stackoverflow.com/questions/30762906/is-it-possible-to-deactivate-mongohealthindicator-in-the-springboot-spring-actua
반응형
'code' 카테고리의 다른 글
C: 링크된 목록에서 노드를 해제하는 방법은 무엇입니까? (0) | 2023.06.27 |
---|---|
빈 data.frame을 생성합니다. (0) | 2023.06.27 |
코드에서 장치의 IP 주소를 가져오는 방법은 무엇입니까? (0) | 2023.06.27 |
외래 키는 항상 다른 테이블의 고유 키를 참조합니까? (0) | 2023.06.27 |
VBA를 사용하여 세미콜론으로 구분된 CSV 파일을 저장하는 방법은 무엇입니까? (0) | 2023.06.27 |