jam*_*zen 3 spring-boot spring-boot-actuator
我最近将一个项目从 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));
}};
}
}
Run Code Online (Sandbox Code Playgroud)
我什至尝试@Component从类中删除 并将其注册为我的主@Configuration类中的 bean,如下所示:
@Bean
public TimeEndpoint timeEndpoint() {
return new TimeEndpoint();
}
Run Code Online (Sandbox Code Playgroud)
当我生成项目和启动,我把它注册/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)
Run Code Online (Sandbox Code Playgroud)
我什至尝试升级到 2.0.1,但这也无济于事。
我错过了什么?
我相信,Sharan De Silva 的回答是不正确的。我只是在一个相同的问题上花了几个小时,因为属性名称不同。应该:
management:
endpoints:
web:
exposure:
include: 'health,info,metrics,customendpoint'
Run Code Online (Sandbox Code Playgroud)
这是官方参考:https : //docs.spring.io/spring-boot/docs/current/reference/html/production-ready-endpoints.html#production-ready-endpoints-exposing-endpoints
| 归档时间: |
|
| 查看次数: |
1989 次 |
| 最近记录: |