: management.endpoints.enabled-by-default = false management.endpoints.web.exposure.include = здоровье, информация, время .base-path = / management.health.defaults.enabled = false
но я обновил проект с Spring Boot 1.5.1 до 2.0.0, и наша пользовательская конечная точка привода не регистрируется. Я пробовал следующие руководства по миграции конечных точек (docs.spring.io, GitHub, а такжеspring.io) перенести нашу пользовательскую конечную точку с новым подходом, но она не работает.
Вот упрощенная конечная точка, которую я пытаюсь зарегистрировать:
@Component
@Endpoint(id = "time")
public class TimeEndpoint {
@ReadOperation
public Map<String, Object> getTimeInfo() {
return new HashMap<String, Object>() {{
put("time", DateTime.now(UTC));
}};
}
}
Я даже пытался удалить@Component
из класса и зарегистрировать его как боб в моей главной@Configuration
класс как следующий:
@Bean
public TimeEndpoint timeEndpoint() {
return new TimeEndpoint();
}
Когда я собираю проект и запускаю его, я вижу, что он регистрирует/health
, /info
, а также/actuator
конечные точки, но не мои/time
конечная точка. Попытка пойти в/time
или же/actuator/time
результаты в 404.
WebMvcEndpointHandlerMapping - Mapped "{[/actuator/health],methods=[GET],produces=[application/vnd.spring-boot.actuator.v2+json || application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping$OperationHandler.handle(javax.servlet.http.HttpServletRequest,java.util.Map<java.lang.String, java.lang.String>)
WebMvcEndpointHandlerMapping - Mapped "{[/actuator/info],methods=[GET],produces=[application/vnd.spring-boot.actuator.v2+json || application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping$OperationHandler.handle(javax.servlet.http.HttpServletRequest,java.util.Map<java.lang.String, java.lang.String>)
WebMvcEndpointHandlerMapping - Mapped "{[/actuator],methods=[GET],produces=[application/vnd.spring-boot.actuator.v2+json || application/json]}" onto protected java.util.Map<java.lang.String, java.util.Map<java.lang.String, org.springframework.boot.actuate.endpoint.web.Link>> org.springframework.boot.actuate.endpoint.web.servlet.WebMvcEndpointHandlerMapping.links(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)
Я даже пытался перейти на 2.0.1, но это тоже не помогло.
Чего мне не хватает?