Spring Boot 2.0 não está registrando o ponto de extremidade do atuador personalizado
Recentemente, atualizei um projeto do Spring Boot 1.5.1 para o 2.0.0 e nosso ponto de extremidade do atuador personalizado não está sendo registrado. Tentei os seguintes guias de migração de terminais (docs.spring.io, githubespring.io) para migrar nosso terminal personalizado com a nova abordagem, mas não funciona.
Aqui está um ponto de extremidade simplificado que estou tentando registrar:
@Component
@Endpoint(id = "time")
public class TimeEndpoint {
@ReadOperation
public Map<String, Object> getTimeInfo() {
return new HashMap<String, Object>() {{
put("time", DateTime.now(UTC));
}};
}
}
Eu até tentei remover o@Component
da classe e registrá-lo como um feijão na minha principal@Configuration
classe como o seguinte:
@Bean
public TimeEndpoint timeEndpoint() {
return new TimeEndpoint();
}
Quando eu construo o projeto e inicio, vejo-o registrando o/health
, /info
e/actuator
pontos finais, mas não o meu/time
ponto final. Tentando ir para/time
ou/actuator/time
resulta em um 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)
Eu até tentei atualizar para a 2.0.1, mas isso também não ajudou.
o que estou perdendo?