今天有个别项目的jolokia的endpoint不能访问,调试源码发现:endpoint.enabled的开关导致的。
关于Endpoint,
《Springboot Endpoint之二:Endpoint源码剖析》
之前的几篇文章分析了spring boot 中有关endpoint的实现,细心的朋友可以发现,在org.springframework.boot.actuate.endpoint.mvc 包下也有一系列的xxxEndpoint,这又是为什么呢?
原因是: 我们很多情况下,都是访问接口的方式获取应用的监控,之前的分析是其实现的底层,要想实现通过接口访问,还需要对其进行包装一番,org.springframework.boot.actuate.endpoint.mvc 包下的实现就是干的这种事,下面,我们就来分析一下吧
解析
关于mvcEndPoint的类图如下,
下面我们就来1个1个的来分析吧.
MvcEndpoint
MvcEndpoint –> 顶层接口,实现类允许使用@RequestMapping和完整的Spring MVC机制,但不能在类型级别使用@Controller或@RequestMapping,因为这将导致路径的双重映射,一次通过常规MVC处理程序映射,一次通过EndpointHandlerMapping。
该类声明如下:
public interface MvcEndpoint {
// 禁用端点的响应实体
ResponseEntity