Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 检查系统是否已连接到卡夫卡_Java_Apache Kafka_Smoke Testing - Fatal编程技术网

Java 检查系统是否已连接到卡夫卡

Java 检查系统是否已连接到卡夫卡,java,apache-kafka,smoke-testing,Java,Apache Kafka,Smoke Testing,我需要用Java编写一个冒烟测试,验证系统是否连接到kafka 有人知道吗? 我发现这个帖子: 但是它太复杂了,无法从Java代码中实现,我认为这不是我应该使用的方向 提前感谢。您可以使用以下方法检查服务器是否正在运行: ZkClient zkClient = new ZkClient("your_zookeeper_server", 5000 /* ZOOKEEPER_SESSION_TIMEOUT */, 5000 /* ZOOKEEPER_CONNECTION_TIMEOUT */, Z

我需要用Java编写一个冒烟测试,验证系统是否连接到kafka

有人知道吗? 我发现这个帖子:

但是它太复杂了,无法从Java代码中实现,我认为这不是我应该使用的方向


提前感谢。

您可以使用以下方法检查服务器是否正在运行:

ZkClient zkClient = new ZkClient("your_zookeeper_server", 5000 /* ZOOKEEPER_SESSION_TIMEOUT */, 5000 /* ZOOKEEPER_CONNECTION_TIMEOUT */, ZKStringSerializer$.MODULE$);
List<Broker> brokers = scala.collection.JavaConversions.seqAsJavaList(zkUtils.getAllBrokersInCluster());
if (brokers.isEmpty()) {
    // No brokers available
} else {
    // There are brokers available
}
ZkClient ZkClient=new ZkClient(“您的zookeeper服务器”,5000/*zookeeper会话\超时*/,5000/*zookeeper\连接\超时*/,ZKStringSerializer$.MODULE$);
List brokers=scala.collection.JavaConversions.seqAsJavaList(zkUtils.getAllBrokersInCluster());
if(brokers.isEmpty()){
//没有经纪人
}否则{
//有经纪人
}

我有同样的问题,我不想让这个问题没有任何答案。 我读了很多关于如何检查连接的书,我找到的大多数答案都是检查与Zk的连接,但我真的想直接检查与Kafka服务器的连接

我所做的是创建一个简单的KafkaConsumer,并使用listTopics()列出所有主题。如果连接成功,那么您将得到一些回报。否则,您将得到一个
TimeoutException

  def validateKafkaConnection(kafkaParams : mutable.Map[String, Object]) : Unit = {
    val props = new Properties()
    props.put("bootstrap.servers", kafkaParams.get("bootstrap.servers").get.toString)
    props.put("group.id", kafkaParams.get("group.id").get.toString)
    props.put("key.deserializer", "org.apache.kafka.common.serialization.StringDeserializer")
    props.put("value.deserializer", "org.apache.kafka.common.serialization.StringDeserializer")
    val simpleConsumer = new KafkaConsumer[String, String](props)
    simpleConsumer.listTopics()
  }

然后,您可以将此方法包装在
try catch
语句中以捕获异常

这是一种检查Zookeeper连接的方法,而不是Kafka服务器。您找到这个问题的答案了吗?为什么你认为下面的答案不够好?不幸的是,我没有检查任何解决方案。因此,我不能说任何解决方案都不够好。您可能还需要更改默认超时值:props.put(REQUEST\u timeout\u MS\u CONFIG,“5000”);props.put(会话超时配置,“4000”);避免等待太久。