Spring cloud stream 卡夫卡活页夹的健康状况始终未知

Spring cloud stream 卡夫卡活页夹的健康状况始终未知,spring-cloud-stream,spring-kafka,Spring Cloud Stream,Spring Kafka,当我尝试激活卡夫卡活页夹的健康指示器时,如中所述 运行状况终结点返回: binders":{"status":"UNKNOWN","kafka":{"status":"UNKNOWN"}}} 我的配置包含以下文件: management.health.binders.enabled=true 我已经调试了BinderSealthindIndicator自动配置,并注意到binderContext中没有注册任何健康指示器。我是否必须将自定义的healthdindicator注册为bean,或

当我尝试激活卡夫卡活页夹的健康指示器时,如中所述

运行状况终结点返回:

binders":{"status":"UNKNOWN","kafka":{"status":"UNKNOWN"}}}
我的配置包含以下文件:

 management.health.binders.enabled=true

我已经调试了
BinderSealthindIndicator自动配置
,并注意到
binderContext
中没有注册任何
健康指示器
。我是否必须将自定义的
healthdindicator
注册为bean,或者需要哪些步骤?

文档中似乎有一个bug。默认情况下,将启用活页夹运行状况指示器。如果要禁用,则需要指定
management.health.binders.enabled=false


感谢您的报告。

这看起来像是文档中的一个bug。默认情况下,将启用活页夹运行状况指示器。如果要禁用,则需要指定
management.health.binders.enabled=false

<dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-stream-binder-kafka</artifactId>
        <version>1.3.0.RELEASE</version>
    </dependency>
谢谢你的报道

<dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-stream-binder-kafka</artifactId>
        <version>1.3.0.RELEASE</version>
    </dependency>
}

公共类KafkaHealthIndicator实现HealthIndicator{ 私有最终记录器log=LoggerFactory.getLogger(KafkaHealthIndicator.class)

private卡夫卡塔式卡夫卡;
公共卡夫卡健康指标(卡夫卡示范卡夫卡){
这个。卡夫卡=卡夫卡;
}
/**
*返回健康指示。
*
*@把健康还给卡夫卡。
*/
@凌驾
公共卫生(){
试一试{
kafka.send(“卡夫卡健康指标”❥").get(100,时间单位毫秒);
}捕获(InterruptedException | ExecutionException | TimeoutException e){
返回Health.down(e.build();
}
返回Health.up().build();
}
}

}

公共类KafkaHealthIndicator实现HealthIndicator{ 私有最终记录器log=LoggerFactory.getLogger(KafkaHealthIndicator.class)

private卡夫卡塔式卡夫卡;
公共卡夫卡健康指标(卡夫卡示范卡夫卡){
这个。卡夫卡=卡夫卡;
}
/**
*返回健康指示。
*
*@把健康还给卡夫卡。
*/
@凌驾
公共卫生(){
试一试{
kafka.send(“卡夫卡健康指标”❥get(100,时间单位毫秒);
}捕获(InterruptedException | ExecutionException | TimeoutException e){
返回Health.down(e.build();
}
返回Health.up().build();
}

}

您使用的是哪个版本的卡夫卡活页夹?使用1.2.x时,我可以在binderContext中看到卡夫卡活页夹运行状况指示器。我使用的是1.2.0。因此,理论上,上述属性应该满足所有需要?同样的情况也发生在我使用
spring cloud azure eventhubs stream活页夹时,这不是卡夫卡你使用的卡夫卡活页夹的ch版本是什么?当我使用1.2.x时,我可以在binderContext中看到卡夫卡活页夹健康指示器。我使用的是1.2.0。所以理论上,上面提到的属性应该可以做所有需要的事情?同样的事情发生在我使用
spring cloud azure eventhubs stream活页夹时,它不是卡夫卡活页夹,setting
management.health.binders.enabled=true
显式运行似乎不太好。创建的问题:。如果默认情况下启用了binders运行状况指示器,请告知我(而不显式将该属性设置为true)你是对的-如果我删除该属性,运行状况终结点仍然包含binders运行状况部分。对于2.1.3版,我也有同样的问题。这有没有解决过?另外,设置
management.health.binders.enabled=true
显式似乎也不起作用。创建的问题:。请告诉我您是否已通过启用binders运行状况指示器默认设置(没有显式地将该属性设置为true)您是对的-如果我删除该属性,健康端点仍然包含binders健康部分。对于2.1.3版,我也有同样的问题。这是否已修复?
@Component
private KafkaTemplate<String, String> kafka;

public KafkaHealthIndicator(KafkaTemplate<String, String> kafka) {
    this.kafka = kafka;
}

/**
 * Return an indication of health.
 *
 * @return the health for Kafka.
 */
@Override
public Health health() {
    try {
        kafka.send("kafka-health-indicator", "❥").get(100, TimeUnit.MILLISECONDS);
    } catch (InterruptedException | ExecutionException | TimeoutException e) {
        return Health.down(e).build();
    }
    return Health.up().build();
}