【发布时间】:2021-02-28 07:26:51
【问题描述】:
我有类似下面的东西,效果很好,但我更喜欢在不发送任何消息的情况下检查运行状况(不仅仅是检查套接字连接)。我知道 Kafka 有开箱即用的 KafkaHealthIndicator 之类的东西,有人有使用它的经验或示例吗?
public class KafkaHealthIndicator implements HealthIndicator {
private final Logger log = LoggerFactory.getLogger(KafkaHealthIndicator.class);
private KafkaTemplate<String, String> kafka;
public KafkaHealthIndicator(KafkaTemplate<String, String> kafka) {
this.kafka = 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();
}
}
【问题讨论】:
标签: java spring spring-boot apache-kafka spring-kafka