检查kafka是否正常连接状态
一、依赖包.
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka_2.12</artifactId>
<version>3.0.0</version>
</dependency>
二、判断逻辑
KtenSue警告:案例中超时时间是5秒,实际开发中5秒太短了,一般设置30秒合适,否则会报错说【连接超时】!实际上kafka是连通的,只是查询耗时超过了5秒而已!
public boolean kafkaAlive(){
Properties properties = new Properties();
properties.put("bootstrap.servers", "192.168.2.200:9092");
properties.put("connections.max.idle.ms", 10000);
properties.put("request.timeout.ms", 5000);
try (AdminClient client = KafkaAdminClient.create(properties)) {
ListTopicsResult topics = client.listTopics(new ListTopicsOptions().timeoutMs(5000));
Set<String> names = topics.names().get();
System.out.println("connect to kafka cluster success");
return true;
} catch (Exception e){
return false;
}
}
三、真正的超时,是这一句起了重要作用。
new ListTopicsOptions().timeoutMs(5000)

浙公网安备 33010602011771号