spring boot 2高级篇(10)——执行器Spring Boot Actuator_spring

执行器

Spring Boot包含Spring Boot Actuator。本部分回答了使用中经常出现的问题。

改变HTTP端口或执行器端点的地址

在一个单独的应用中,执行器的HTTP端口默认和主HTTP端口相同。想要让应用监听不同的端口,你可以设置外部属性​​management.port​​​。为了监听一个完全不同的网络地址(比如,你有一个用于管理的内部网络和一个用于用户应用程序的外部网络),你可以将​​management.address​​设置为一个可用的IP地址,然后将服务器绑定到该地址。

自定义WhiteLabel错误页面

Spring Boot安装了一个'whitelabel'错误页面,如果你遇到一个服务器错误(机器客户端消费的是JSON,其他媒体类型则会看到一个具有正确错误码的合乎情理的响应),那就能在客户端浏览器中看到该页面。你可以设置​​error.whitelabel.enabled=false​​​来关闭该功能,但通常你想要添加自己的错误页面来取代whitelabel。确切地说,如何实现取决于你使用的模板技术。例如,你正在使用Thymeleaf,你将添加一个​​error.html​​​模板。如果你正在使用FreeMarker,那你将添加一个​​error.ftl​​​模板。通常,你需要的只是一个名称为​​error​​​的​​View​​​,或一个处理​​/error​​​路径的​​@Controller​​​。除非你替换了一些默认配置,否则你将在你的​​ApplicationContext​​​中找到一个​​BeanNameViewResolver​​​,所以一个id为​​error​​​的​​@Bean​​可能是完成该操作的一个简单方式,详情可参考ErrorMvcAutoConfiguration。

查看Error Handling章节,了解如何将处理器(handlers)注册到servlet容器中。

Actuator和Jersey

执行器HTTP端点只有在基于Spring MVC的应用才可用,如果想使用Jersey和执行器,你需要启用Spring MVC(添加​​spring-boot-starter-web​​​依赖)。默认情况下,Jersey和 Spring MVC分发器servlet被映射到相同路径(​​/​​​)。你需要改变它们中的某个路径(Spring MVC可以配置​​server.servlet-path​​​,Jersey可以配置​​spring.jersey.application-path​​​)。例如,如果你在​​application.properties​​​中添加​​server.servlet-path=/system​​​,你将在​​/system​​访问执行器HTTP端点。