2017-12-21 8 views
0

私はKafka 1.0でKafka APIを使用しようとしています。私は自分自身が基本的なレベルで困惑していると感じます。カフカJava APIはどこですか?

クラスAdminClientは0.10程度かかりました。それは私が試してみたい方法がありますdescribeTopics。だから私はEclipseプロジェクトをセットアップしてAdminClientを構築し、それを私のカフカクラスターに向けて、すべてがうまくいっている。

私がAdminClientクラスをもう少し詳しく調べるまで、それはScalaモジュールであり、公開されたJava APIとはかなり異なっています。とりわけ、describeTopicsはどこにも見つかりません。

私はKafka-1.0.0-src.tgz asndをダウンロードしました。私はコア/ src/main/scala/admin/AdminClient.scalaというEclipseで見たものと一致するものが見つかりました。それから、クライアント/ src/main/java/org/apache/clients/admin/AdminClient.javaがAPIのdocと一致していました。

私には欠けていることがあります。ドキュメントに表示されているAPIを入手するにはどうすればよいですか?

+1

[ドキュメント](https://kafka.apache.org/10/javadoc/org/apache/kafka/clients/admin/AdminClient.html#describeTopics-java.util.Collection-) - > [ソース]( https://github.com/apache/kafka/blob/078fd2136524409711e535544ac8960135064df3/clients/src/main/java/org/apache/kafka/clients/admin/AdminClient.java#L179)。 –

+1

あなたはあなたのpomファイル、またはあなたが依存関係で追加したものを共有できますか? あなたの唯一の依存関係はorg.apache.kafka.clientsとorg.apache.kafka.commonでなければなりません。したがって、コアモジュールには何も表示されません。コアモジュールはクライアントではありません - それはブローカーそのものです! –

答えて

0

AdminClientは、コアカフカのアーティファクトから来ています。新しいAdminClientのAPIは、(消費者と生産者との)カフカのクライアントライブラリで提供されていますので、あなたのpom.xmlに以下の依存関係を使用する必要があります。

<dependency> 
 
    <groupId>org.apache.kafka</groupId> 
 
    <artifactId>kafka-clients</artifactId> 
 
    <version>1.0.0</version> 
 
</dependency>

0

Scalaの実装では、サーバー側でありますScalaで書かれたKafka Brokersで実行される管理機能の一部です。 Javaの実装はクライアント側であり、これは文書化されるべきクライアントAPIであるため、文書と一致するはずです。

関連する問題