Spring Boot 2.0 no registra el punto final del actuador personalizado
Recientemente actualicé un proyecto de Spring Boot 1.5.1 a 2.0.0 y nuestro punto final de actuador personalizado no se está registrando. He probado las siguientes guías de migración de puntos finales (docs.spring.io, githubyspring.io) para migrar nuestro punto final personalizado con el nuevo enfoque, pero no funciona.
Aquí hay un punto final simplificado que estoy tratando de registrar:
@Component
@Endpoint(id = "time")
public class TimeEndpoint {
@ReadOperation
public Map<String, Object> getTimeInfo() {
return new HashMap<String, Object>() {{
put("time", DateTime.now(UTC));
}};
}
}
Incluso he intentado eliminar el@Component
de la clase y registrarlo como un bean en mi main@Configuration
clase como la siguiente:
@Bean
public TimeEndpoint timeEndpoint() {
return new TimeEndpoint();
}
Cuando construyo el proyecto y lo inicio, lo veo registrando el/health
, /info
y/actuator
puntos finales, pero no mi/time
punto final. Intentando ir a/time
o/actuator/time
da como resultado un 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)
Incluso intenté actualizar a 2.0.1, pero eso tampoco ayudó.
¿Qué me estoy perdiendo?