50.8 实现自定义端点
如果你添加一个用@Endpoint
标注的@Bean
,任何用@ReadOperation
、@WriteOperation
或者@DeleteOperation
标注的方法都会自动通过JMX暴露,在网络应用里则会通过HTTP暴露。使用Jersey、Spring MVC或者Spring WebFlux时,端点会通过HTTP暴露。
你也可以使用@JmxEndpoint
或者@WebEndpoint
,编写技术特定的端点。这些端点受到对应技术的限制。比如,@WebEndpoint
只能通过HTTP暴露,不能通过JMX暴露。
你可以使用@EndpointWebExtension
或者@EndpointJmxExtension
编写技术特定的扩展。这些注解让你提供技术特定的操作,来声明一个既存的端点。
最后,如果你需要访问网络框架特定的功能,你可以实现Servlet或者Spring @Controller
和@RestController
端点。但是,它们将不能通过JMX暴露,也不能用于另外的网络框架。
注 如果你添加端点作为一个库特性,考虑将一个用@ManagementContextConfiguration
标注的配置类添加到/META-INF/spring.factories
中,且key为org.springframework.boot.actuate.autoconfigure.web.ManagementContextConfiguration
。这样,如果你的用户要求一个独立的管理端口或地址,端点将跟其它网络端点一样移动到一个子上下文中。
最后更新于