和小鸟一起,春天也来了 – 第五幕(执行器)
简介/说明
和小鳥一起,我也接触了Spring Boot直到REST API设计。从应用程序运行的角度来看,非常简单,但需要一些步骤来使其正常工作。另一方面,从监控应用程序的角度来看,我们还没有做任何处理。
由于Spring Boot具有实现监控工具的简单功能,我决定尝试使用它的一个叫做Actuator的工具。
顺便提一下,我们正在使用的Spring Boot版本是2.x系列。
1.x系列和2.x系列有很多改进和差别。因此,我也想看看本次尝试使用的Actuator在1.x系列和2.x系列中的差异。
前提是指存在某种事物或情况所需要的先决条件,而环境指的是事物存在或发展所处的周围条件或背景。
运行时版本 shí
-
- Kotlin : 1.3.0
- SpringBoot : 2.1.0.RELEASE
春天的依赖关系
-
- Web
- Actuator
开发环境
-
- OS : Mac
-
- IDE : IntelliJ IDEA
- Build : Gradle
步骤/说明
使用 Spring Actuator
要使用Spring Actuator,需要在build.gradle中定义以下的依赖。
implementation('org.springframework.boot:spring-boot-starter-actuator')
只需通过这个,您就可以使用它了。
然后,通过访问下一个文档中列出的终端节点,您就可以通过HTTP获取各种信息。
健康
$ curl 'http://localhost:8080/actuator/health' -i -X GET
HTTP/1.1 200
Content-Type: application/vnd.spring-boot.actuator.v2+json;charset=UTF-8
Transfer-Encoding: chunked
Date: Sun, 11 Nov 2018 13:08:00 GMT
{"status":"UP"}
Spring 1.x 和 2.x 的区别是什么?
虽然有很多不同之处,但让我们来看一下从1.x迁移到2.x时经常遇到的一些典型问题。
访问基础路径
1. 在x版本中,我们直接通过访问端点来显示信息:http://localhost:8080/health。
2. 在x版本中,我们需要在访问端点之前指定基础路径:http://localhost:8080/<基础路径>/health。
默认情况下,基础路径是 /actuator。
要进行更改,需在配置文件(application.yml)中进行定义。
通过定义如下,可以更改基本路径。在以下示例中,基本路径设置为/admin。
management:
endpoints:
web:
base-path: /admin
公开终端点
1. 在X版本中,端点事先已经被公开。
2. 在X版本中,只有/health和/info两个端点被公开。
即使在2.x版本中,要预先公开所有内容,可以按照以下方式在设置文件(application.yml)中进行定义。
management:
endpoints:
web:
exposure:
include: "*"
在示例中,使用星号(*)来指定公开对象,但如果需要逐个指定,只需在描述端点时公开。
include: beans, env
总结 / 回顾
执行器是一个非常方便的工具,只需要添加依赖就可以使用。
因此,在很多情况下都会有机会使用它,但由于在1.x系列和2.x系列中访问方式和对象不同,所以在进行2.x系列的迁移时,需要注意避免出现404错误。
这个资源。
- spring-just-rest-kotlin/tree/first-actuator