当前位置: 首页 > 知识库问答 >
问题:

将多个URL路由到Spring Boot执行器的健康endpoint

段干河
2023-03-14

我配置了一个应用程序来为Spring Boot Actutor的健康endpoint/manage/health提供服务。不幸的是,由于我部署的基础结构的一些细节,我需要将/和/health同时别名为/manage/health。

多谢了。

共有1个答案

景辰钊
2023-03-14

在配置中添加一个bean以添加一个视图控制器。这必须扩展WebMVCConfigurerAdapter并简单地重写AddViewControllers方法。

@Configuration
public class AliasWebConfig extends WebMvcConfigurerAdapter {

    public void addViewControllers(ViewControllerRegistry registry) {
        registry.addViewController("/").setViewName("forward:/manage/health");
        registry.addViewController("/health").setViewName("forward:/manage/health");
    }
}

或者如果要强制重定向,请使用AddRedirectViewController而不是AddViewController

@Configuration
public class AliasWebConfig extends WebMvcConfigurerAdapter {

    public void addViewControllers(ViewControllerRegistry registry) {
        registry. addRedirectViewController("/", "/manage/health");
        registry.addRedirectViewController("/health","/manage/health");
    }
}
 类似资料:
  • 我需要改变频率来检查springboot执行器中的DB运行状况。默认DB运行状况检查查询每毫秒执行一次。我想让这个查询每1分钟后执行一次,而不是毫秒。有什么方法可以自定义它吗?

  • 但我想要一些我可以调用从AWS弹性负载均衡器/自动缩放组。默认情况下,如果一个实例未通过健康检查,ELB/ASG将终止它并用一个新的实例替换它。问题是一些健康检查,如DataSourceHealthIndicator,会在数据库关闭时向下报告,但我的应用程序实例在其他方面是完全健康的。如果我使用默认行为,AWS将抛出完全正常的实例,直到数据库重新启动,这将导致我的账单增加。 我可以去掉DataSo

  • 我有一个基于SpringBoot的web应用程序,它公开了一个Consult health indicator bean。 该bean由SpringBoot的autoconfiguration正确创建和初始化,但是,尽管关联的配置属性“Management.health.consul.Enabled”设置为true,但指示器并未显示在执行器健康endpoint中: 经过进一步检查,我发现了负责获取

  • 因此,我将Spring引导执行器添加到我的应用程序中,并在应用程序中指定。属性管理。endpoint。健康隐藏物生存时间=120秒,以缓存健康检查结果。因此,当我调用执行器/健康时,结果被缓存,效果很好。 当我调用执行器/健康/就绪或自定义创建的组时,问题开始出现。该请求结果不会被缓存。我查阅了Spring文档,只找到了主要健康终点的信息,没有找到特定人群的信息。 所以我的问题是:我错过了什么吗?

  • {“Status”:“Down”} 我需要做什么才能显示自定义健康状况指示器?

  • 我已经为我的应用程序创建了一个自定义的spring-boot执行器健康endpoint。Spring boot将所有这些自定义健康endpoint聚合到一个大的json中,并在点击application/health URL时返回它。现在,我想在点击application/health URL时,将一些信息传递给我以头的形式实现的自定义healthendpoint。我怎样才能做到这一点呢?