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活页夹时,它不是卡夫卡活页夹,settingmanagement.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();
}