springboot学习(九)自动装配和Actuator
2021-03-09 17:31
标签:形式 端点 url 端口 自动 环境变量 pat eal Servle Spring Boot大量使用 当我们引入 当我们引入 ... Spring Boot自动装配功能是通过自动扫描+条件装配实现的,这一套机制在默认情况下工作得很好,但是,如果我们要手动控制某个Bean的创建,就需要详细地了解Spring Boot自动创建的原理,很多时候还要跟踪 在生产环境中,需要对应用程序的状态进行监控。前面我们已经介绍了使用JMX对Java应用程序包括JVM进行监控,使用JMX需要把一些监控信息以MBean的形式暴露给JMX Server,而Spring Boot已经内置了一个监控功能,它叫Actuator。 使用Actuator非常简单,只需添加如下依赖:自动装配
XxxAutoConfiguration
来使得许多组件被自动化配置并创建,而这些创建过程又大量使用了Spring的Conditional功能spring-boot-starter-jdbc
,Spring Boot启动时会自动扫描所有的XxxAutoConfiguration
:
DataSourceAutoConfiguration
:自动创建一个DataSource
,其中配置项从application.yml
的spring.datasource
读取;DataSourceTransactionManagerAutoConfiguration
:自动创建了一个基于JDBC的事务管理器;JdbcTemplateAutoConfiguration
:自动创建了一个JdbcTemplate
。spring-boot-starter-web
时,自动创建了:
ServletWebServerFactoryAutoConfiguration
:自动创建一个嵌入式Web服务器,默认是Tomcat;DispatcherServletAutoConfiguration
:自动创建一个DispatcherServlet
;HttpEncodingAutoConfiguration
:自动创建一个CharacterEncodingFilter
;WebMvcAutoConfiguration
:自动创建若干与MVC相关的BeanXxxAutoConfiguration
,以便设定条件使得某个Bean不会被自动创建。使用Actuator
dependency>
groupId>org.springframework.bootgroupId>
artifactId>spring-boot-starter-actuatorartifactId>
dependency>
然后正常启动应用程序,Actuator会把它能收集到的所有信息都暴露给JMX。此外,Actuator还可以通过URL/actuator/
挂载一些监控点,例如,输入http://localhost:8080/actuator/health
,我们可以查看应用程序当前状态:
{
"status": "UP"
}
许多网关作为反向代理需要一个URL来探测后端集群应用是否存活,这个URL就可以提供给网关使用。
Actuator默认把所有访问点暴露给JMX,但处于安全原因,只有health
和info
会暴露给Web。Actuator提供的所有访问点均在官方文档列出,要暴露更多的访问点给Web,需要在application.yml
中加上配置:
management:
endpoints:
web:
exposure:
include: info, health, beans, env, metrics
要特别注意暴露的URL的安全性,例如,/actuator/env
可以获取当前机器的所有环境变量,不可暴露给公网。
actuaor配置
management:
# 端点信息接口使用的端口,为了和主系统接口使用的端口进行分离
server:
port: 8090
servlet:
context-path: /sys
# 端点健康情况,默认值"never",设置为"always"可以显示硬盘使用情况和线程情况
endpoint:
health:
show-details: always
# 设置端点暴露的哪些内容,默认["health","info"],设置"*"代表暴露所有可访问的端点
endpoints:
web:
exposure:
include: ‘*‘
springboot学习(九)自动装配和Actuator
标签:形式 端点 url 端口 自动 环境变量 pat eal Servle
原文地址:https://www.cnblogs.com/yjh1995/p/14164457.html
文章标题:springboot学习(九)自动装配和Actuator
文章链接:http://soscw.com/index.php/essay/62388.html