此版本仍在开发中,尚不被认为是稳定的。对于最新的稳定版本,请使用 spring-cloud-stream 4.3.0spring-doc.cadn.net.cn

健康指标

Spring Cloud Stream 为绑定器提供了一个健康指示器。 它以binders并且可以通过设置management.health.binders.enabled财产。spring-doc.cadn.net.cn

要启用健康检查,您首先需要通过包含其依赖项来启用“web”和“actuator”(请参阅绑定可视化和控制)spring-doc.cadn.net.cn

如果management.health.binders.enabled未由应用程序显式设置,则management.health.defaults.enabled匹配为true并且活页夹运行状况指示器已启用。 如果您想完全禁用健康指示器,则必须将management.health.binders.enabledfalse.spring-doc.cadn.net.cn

您可以使用 Spring Boot 执行器运行状况端点来访问运行状况指示器 -/actuator/health. 默认情况下,只有在到达上述端点时,才会收到顶级应用程序状态。 为了从活页夹特定运行状况指标中接收完整详细信息,您需要包含属性management.endpoint.health.show-details与值ALWAYS在您的应用程序中。spring-doc.cadn.net.cn

运行状况指标特定于活页夹,某些活页夹实现可能不一定提供运行状况指示器。spring-doc.cadn.net.cn

如果要完全禁用所有现成的运行状况指示器,而是提供自己的运行状况指示器, 您可以通过设置属性来做到这一点management.health.binders.enabledfalse然后提供您自己的HealthIndicatorbean 的 bean。 在这种情况下,Spring Boot 中的健康指标基础设施仍将选择这些自定义 Bean。 即使您没有禁用活页夹运行状况指示器,您仍然可以通过提供自己的运行状况检查来增强运行状况检查HealthIndicatorbean 除了开箱即用的健康检查之外。spring-doc.cadn.net.cn

当您在同一应用程序中有多个绑定器时,默认情况下会启用运行状况指示器,除非应用程序通过设置management.health.binders.enabledfalse. 在这种情况下,如果用户想要禁用绑定器子集的运行状况检查,则应通过将management.health.binders.enabledfalse在多活页夹配置的环境中。 有关如何提供特定于环境的属性的详细信息,请参阅连接到多个系统spring-doc.cadn.net.cn

如果类路径中存在多个绑定器,但并非所有绑定器都在应用程序中使用,这可能会在运行状况指示器的上下文中导致一些问题。 可能有关于如何执行运行状况检查的特定实施细节。例如,Kafka 绑定器可以将状态确定为DOWN如果活页夹没有注册的目的地。spring-doc.cadn.net.cn

让我们举一个具体的情况。假设您在类路径中同时存在 Kafka 和 Kafka Streams 绑定器,但仅在应用程序代码中使用 Kafka Streams 绑定器,即仅使用 Kafka Streams 绑定器提供绑定。 由于未使用 Kafka 绑定器,并且它有特定的检查来查看是否注册了任何目标,因此绑定器健康检查将失败。 顶级应用程序运行状况检查状态将报告为DOWN. 在这种情况下,您可以简单地从应用程序中删除 kafka binder 的依赖项,因为您没有使用它。spring-doc.cadn.net.cn