首页 > 其他分享 >SpringBoot中底层对 /health 的请求是怎么处理的?

SpringBoot中底层对 /health 的请求是怎么处理的?

时间:2023-04-23 11:25:56浏览次数:47  
标签:SpringBoot 应用程序 bean health HealthIndicator 端点 HealthEndpoint 底层

 

在 Spring Boot 应用程序中,/health 端点是通过 HealthEndpoint bean 来处理的。当您访问 /health 端点时,Spring Boot 会调用 HealthEndpoint bean 的 health() 方法来检查应用程序的健康状态,并返回相应的响应。

HealthEndpoint bean 是通过 HealthEndpointAutoConfiguration 自动配置类进行自动配置的。该自动配置类会在应用程序中自动配置 HealthEndpoint bean,并将其注册到应用程序的管理端点中,以便能够通过 HTTP 请求来访问该端点。

默认情况下,HealthEndpoint bean 会使用应用程序中的所有 HealthIndicator bean 来确定应用程序的健康状态。HealthIndicator 是一个接口,用于定义一个组件,它可以提供应用程序的健康状态信息。例如,Spring Boot 中提供了许多内置的 HealthIndicator 实现,如 DiskSpaceHealthIndicatorMongoHealthIndicatorRedisHealthIndicator 等。

当您访问 /health 端点时,HealthEndpoint bean 会调用所有注册的 HealthIndicator bean 的 health() 方法,并将它们的健康状态合并成一个总体的健康状态。最终,HealthEndpoint bean 会将总体的健康状态返回给客户端,以便客户端可以根据应用程序的健康状态来做出相应的处理。

如果您想要自定义 /health 端点的行为,您可以编写自己的 HealthIndicator 实现,并将其注册到应用程序的上下文中。例如,您可以编写一个 MyCustomHealthIndicator 类,该类实现了 HealthIndicator 接口,并提供了一些自定义的健康状态信息。然后,您可以将该类注册到应用程序的上下文中,以便它能够被 HealthEndpoint bean 使用。

希望这些信息能够帮助您了解 Spring Boot 底层对 /health 端点的请求是如何处理的。如果您需要进一步的帮助,请告诉我。

 

标签:SpringBoot,应用程序,bean,health,HealthIndicator,端点,HealthEndpoint,底层
From: https://www.cnblogs.com/smileblogs/p/17345907.html

相关文章

  • 记录一次艰难的云服务器部署前后端项目springBoot+mybatis和vue(两天解决的前后端跨域
    前言大家好我是歌谣今天继续给大家带来后端java的学习最近刚学习完java的一个增删改查紧接着就是部署项目了代码准备工作前端:vue后端:springboot+mybatis数据库mysql部署后端项目打包找到maven-package-runmavenbuild云服务器上面建立文件mkdir/www/springBoot创建文件......
  • Forest-声明式HTTP客户端框架-集成到SpringBoot实现调用第三方restful api并实现接口
    场景Forest声明式HTTP客户端API框架,让Java发送HTTP/HTTPS请求不再难。它比OkHttp和HttpClient更高层,是封装调用第三方restfulapiclient接口的好帮手,是retrofit和feign之外另一个选择。通过在接口上声明注解的方式配置HTTP请求接口。官网:Forest 代码地址:forest:声明式HTTP客户......
  • 使用Maven-shade-plugin打包SpringBoot项目
    使用Maven-shade-plugin打包SpringBoot项目另附参考文章:https://blog.csdn.net/u011441473/article/details/127844885好奇葩的打包之旅,最后在stackoverflow上找到了解决办法,遇到问题,还是多去google吧,国内真不行,百度质量太低,一件很小的事,花了我1个多小时。。下面说一下我遇到......
  • Springboot 多实例负载均衡部署
    Springboot多实例负载均衡部署一、测试代码:控制层测试代码:importjava.net.Inet4Address;importjava.net.InetAddress;importjava.net.UnknownHostException;@Controller@RequestMapping("/test")publicclassTestController{@GetMapping("")@Resp......
  • SpringBoot+Mybatis这个bug估计连作为神仙的您也无法解决--》Invalid bound statement
    最近开发一个调查单的应用系统,加班加点为了解决几个bug,但是最近两天卡在一个bug上。作为一头牛,不能轻易放弃,向困难挑战是牛的精神。1、Invalidbound问题展示首先,我针对题型QuestionType功能,写了五个子功能:增加题型,删除题型,修改题型,查询单条题型,模糊查询多条记录;还写了问题、调查......
  • SpringBoot文件上传
    application.yml配置spring:#文件上传配置servlet:multipart:max-file-size:10MBmax-request-size:10MBweb:resources:static-locations:/upload/代码packagecom.haoyang.Controller;importorg.springframework.web.bind.a......
  • SpringBoot+Mybatis-Plus+EasyExcel
    首先建立一个springboot项目,导入依赖<!--MyBatisPlus依赖--><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.4.2</version......
  • Vulnhub之Healthcare靶机详细测试过程
    Healthcare作者:jasonhuawen靶机信息名称:地址:识别目标主机IP地址─(kali㉿kali)-[~/Vulnhub/Healthcare]└─$sudonetdiscover-ieth1-r192.168.56.0/24Currentlyscanning:192.168.56.0/24|ScreenView:UniqueHosts......
  • springboot+bootstraptable
    springboot+bootstraptable项目采用的是springboot+bootstraptable搭建的demo  https://blog.csdn.net/weixin_43373818/article/details/114714016基础的增删改查已经实现html页面<!DOCTYPEhtml><htmllang="zh-CN"xmlns:th="http://www.thymeleaf.org"><......
  • Springboot 使用nacos鉴权的简单步骤
    Springboot使用nacos鉴权的简单步骤背景前端时间nacos爆出了漏洞.因为他的默认token固定,容易被利用.具体的问题为:QVD-2023-6271漏洞描述:开源服务管理平台Nacos中存在身份认证绕过漏洞,在默认配置下未token.secret.key进行修改,导致远程攻击者可以绕过密钥认证进入......