前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >微服务架构之Spring Boot(七十五)

微服务架构之Spring Boot(七十五)

作者头像
用户1289394
发布2022-05-23 15:44:47
4630
发布2022-05-23 15:44:47
举报
文章被收录于专栏:Java学习网Java学习网

53.9申请信息

应用程序信息公开了从 InfoContributor ApplicationContext 中定义的所有beans 收集的各种信息 。Spring Boot包含一些自动配置

的 InfoContributor beans,您可以自己编写。

53.9.1自动配置的InfoContributors

在适当的情况下,Spring Boot会自动配置以下 InfoContributor beans:

名称 描述

EnvironmentInfoContributor 在 info 键下显示 Environment 中的任意键。

GitInfoContributor 如果 git.properties 文件可用,则公开git信息。

BuildInfoContributor 如果 META-INF/build-info.properties 文件可用,则公开构建信息。

可以通过设置 management.info.defaults.enabled 属性来禁用它们。

53.9.2自定义应用程序信息

您可以通过设置 info.* Spring属性来自定义 info 端点公开的数据。info 键下的所有 Environment 属性都会自动显示。例如,您可以将以下

设置添加到 application.properties 文件中:

info.app.encoding=UTF-8

info.app.java.source=1.8

info.app.java.target=1.8

您可以在构建时扩展信息属性,而不是对这些值进行硬编码 。

假设您使用Maven,您可以按如下方式重写前面的示例:

info.app.encoding=@project.build.sourceEncoding@

info.app.java.source=@java.version@

info.app.java.target=@java.version@

53.9.3 Git提交信息

info 端点的另一个有用功能是它能够在构建项目时发布有关 git 源代码存储库状态的信息。如果 GitProperties bean可用,则会公

开 git.branch , git.commit.id 和 git.commit.time 属性。

如果类路径的根目录中有 git.properties 文件,则自动配置 GitProperties bean。有关更多详细信息,请参阅“ 生成git信

息 ”。

如果要显示完整的git信息(即 git.properties 的完整内容),请使用 management.info.git.mode 属性,如下所示:

management.info.git.mode=full

53.9.4构建信息

如果 BuildProperties bean可用, info 端点也可以发布有关您的构建的信息。如果类路径中有 META-INF/build-info.properties 文件,

则会发生这种情况。

Maven和Gradle插件都可以生成该文件。有关更多详细信息,请参阅“ 生成构建信息 ”。

53.9.5编写自定义InfoContributors

要提供自定义应用程序信息,您可以注册实现该 InfoContributor 接口的Spring beans 。

以下示例使用单个值提供 example 条目:

import java.util.Collections;

import org.springframework.boot.actuate.info.Info;

import org.springframework.boot.actuate.info.InfoContributor;

import org.springframework.stereotype.Component;

@Component

public class ExampleInfoContributor implements InfoContributor {

@Override

public void contribute(Info.Builder builder) {

builder.withDetail("example",

Collections.singletonMap("key", "value"));

}

}

如果到达 info 端点,您应该看到包含以下附加条目的响应:

{

"example": {

"key" : "value"

}

}

54.通过HTTP进行监控和管理

如果您正在开发Web应用程序,Spring Boot Actuator会自动配置所有已启用的端点以通过HTTP公开。默认约定是使用端点 id 作为URL路径,

前缀为 /actuator 。例如, health 暴露为 /actuator/health 。提示:Actuator本身支持Spring MVC,Spring WebFlux和Jersey。

54.1自定义管理端点路径

有时,自定义管理端点的前缀很有用。例如,您的应用程序可能已将 /actuator 用于其他目的。您可以使

用 management.endpoints.web.base-path 属性更改管理端点的前缀,如以下示例所示:

management.endpoints.web.base-path=/manage

前面的 application.properties 示例将端点从 /actuator/{id} 更改为 /manage/{id} (例如, /manage/info )。

除非已将管理端口配置为使用其他HTTP端口公开端点,否则 management.endpoints.web.base-path 相对

于 server.servlet.context-path 。如果配置了 management.server.port ,则 management.endpoints.web.base-path 相

对于 management.server.servlet.context-path 。

如果要将端点映射到其他路径,可以使用 management.endpoints.web.path-mapping 属性。

以下示例将 /actuator/health 重新映射为 /healthcheck :

application.properties。

management.endpoints.web.base-path=/

management.endpoints.web.path-mapping.health=healthcheck

54.2自定义Management Server端口

使用默认HTTP端口公开管理端点是基于云的部署的明智选择。但是,如果您的应用程序在您自己的数据中心内运行,您可能更喜欢使用不同的

HTTP端口公开端点。

您可以设置 management.server.port 属性以更改HTTP端口,如以下示例所示:

management.server.port=8081

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-05-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Java学习网 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档