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

Spring引导执行器-禁用默认调度间隔

萧阳波
2023-03-14

我正在为我的Spring Boot应用程序实现自定义执行器HealthIndicators。

它们看起来像:

public class MyClass implements HealthIndicator {

    @Override
    public Health health() {
        LOGGER.info("Checking Service Health...");
        try {
            String url = this.getExternalServiceUrl().concat("/heartbeat");
            JSONObject response = this.getResponse(url, null);
            Boolean responseSuccess = response.getBoolean("success");
            Boolean serviceAvailable = ...

            if (responseSuccess && serviceAvailable) {
                return Health.up().withDetail(...).build();
            } else {
                return Health.down().withDetail(...).build();
            }
        } catch (Exception e) {
            return Health.down().withDetail(...).build();
        }
    }
}

这里我的问题是,默认情况下,Acturet有大约5分钟的调度时间,在该时间内它将自动调用/acture/healtendpoint。我要禁用这个。

我只希望在代码中显式调用健康endpoint时调用它。

有人知道如何禁用执行器默认调度吗?

共有1个答案

廖诚
2023-03-14

Spring Boot从不自动调用自己的健康endpoint。如果每5分钟调用一次,则是在部署应用程序的环境中进行的。

 类似资料:
  • 我在我的应用程序中使用了Spring-Boot1.3.1和Spring-Boot-Actutor。我使用作为中的父级。 为了禁用安全性,我在中添加了2个条目。 它仍然没有禁用基本的安全性。当我在本地Tomcat中启动应用程序时,我看到日志文件中的默认密码。

  • 我尝试在配置文件中禁用生产环境的所有执行器endpoint: 它适用于除/info以外的所有endpoint。如何关闭给定环境的所有endpoint? 更新: 我正在做的项目也是Eureka的客户。在Spring Cloud Netflix的文档Status Page and Health Indicator一节(http://Cloud.Spring.io/spring-cloud-netfli

  • 我第一次使用Spring Boot应用程序时,执行器是不安全的,所以很容易通过/acture/shutdownendpoint远程关闭。最近,我已经使用Spring安全保护了我的执行器,它已经起作用了。现在我需要提供http基本凭据来访问endpoint,但现在对/acture/shutdownendpoint的curl调用失败,出现禁止错误。我一定是配置不正确的地方。 我的卷曲命令: 我的配置:

  • 嗨,我正在使用sprinb-boot2中的致动器,具有以下属性 我的目标是禁用除健康之外的所有endpoint。通过此配置,我禁用了除health以外的所有endpoint,现在获取以下endpoint。是否可以同时禁用?怎么做的?

  • 我在一个项目中使用Spring Boot和Data REST,我想禁用以下默认映射来调试映射问题: 我发现这个问题禁用了,这会导致这些映射不被映射。但是,我的控制器映射也不会被映射。 我可以在保留我定义的映射时禁用这些映射吗? 提前谢谢。

  • Spring Boot执行器的两个版本(1.2.5和1.3.0)在HealthMvcEndpoint,isUnrestricted()方法(&&and)中的实现存在差异。我明白这是为了保留这些限制 http://docs.spring.io/spring-boot/docs/current-snapshot/reference/htmlsingle/#production-ready-health