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

Spring启动执行器-自定义endpoint

南门新荣
2023-03-14

我正在我的项目中使用Spring启动执行器模块,该模块公开了要监视的RESTendpointURL

默认情况下,仅公开 /运行状况/info 终结点。

根据我的使用案例,我正在通过< code > application . properties 文件自定义endpoint。

application.properties.

#To expose all endpoints
management.endpoints.web.exposure.include=*
 
#To expose only selected endpoints
management.endpoints.jmx.exposure.include=health,info,env,beans

我想了解,Spring启动究竟在哪里为/health/info创建实际的endpoint,以及它如何通过HTTP公开它们?

共有1个答案

靳茂
2023-03-14

感谢@Puce和@MarkBramnik帮助我解决参考文档

我想了解endpoint是如何工作的,以及它们是如何通过HTTP公开的,以便我可以创建自定义endpoint以在我的应用程序中使用。

Spring Framework最大的特点之一就是非常容易扩展,我也能做到。

要创建自定义致动器endpoint,请在类上使用@Endpoint注释。然后利用@ReadOperation/@WriteOperation/@DeleteOperation注释来根据需要将它们公开为致动器endpointbean。

参考文档:实现自定义endpoint

参考示例:

@Endpoint(id="custom_endpoint")
@Component
public class MyCustomEndpoint {

    @ReadOperation
    @Bean
    public String greet() {
        return "Hello from custom endpoint";
    }
}

endpoint ID(即custom_endpoint需要在要启用的执行器endpoint列表中进行配置。

application.properties

management.endpoints.web.exposure.include=health,info,custom_endpoint

重新启动后,终结点的工作方式就像一个超级按钮!

 类似资料:
  • 我想使用actuator为我的spring boot rest web服务实现自定义度量或统计信息,但我找不到简单的教程。例如: 如何显示某个控制器被调用了多少次以及填充了什么确切的参数字段? 我如何创建一个指标,当它的URL被调用时,它会运行某些查询并显示带有某些结果的json

  • 我正在开发一个Spring启动自定义启动器,其中pom包含一些依赖项(其他启动器、库),并且这个启动器执行一些关于jwt过滤的配置,以允许过滤器处于安全水位。问题是当我在另一个项目(starter-消费者)中添加我的自定义启动器作为pom依赖项时,它似乎检测到我要导入的类,但IntelliJ什么也没做。 也许我没有正确打包启动器,或者至少我在里面编码的类。启动器在pom中包含的其他依赖项被成功添加

  • 我现在在< code >Spring靴致动器的世界里... 如何从@Service类的自定义函数添加自己的度量? 我希望有这样的东西 目前,我只能找到简单的指标,如 但当我必须聚合数据库条目之类的东西时,这并没有多大帮助。我需要一个更灵活的。我还发现了类似于<code>的MeterBinder。bindTo但这不起作用。没有错误,没有指标。我已经找了好几个月,但没有成功。 谢谢

  • 春奴B:好的。我从一个STS Spring Starter项目/Maven/Java8/Spring Boot2.0开始,并选择Web和致动器依赖项。它构建和运行良好,并转发到http://localhost:8080/acturet/health。我在主应用程序类中添加了一个“endpoint”,使其看起来像这样。

  • 我有一个带有Spring Security微服务的Spring Boot 2,我已使用米计/Spring Actuator配置了该微服务。当我在antMatcher("/驱动器/**")endpoint上permitAll()时,一切都很好。我能够通过正确配置的Prometheus yaml文件检索Prometheus指标。 但是,我的微服务不在防火墙后面,因此对世界开放。我只希望普罗米修斯能够访

  • 我正在使用SpringBoot执行器返回应用程序的运行状况。 我看到了下面的回复 我想返回一个类似于下面的响应 有办法做到吗?