Kafka Java クライアントの使用
Java™ Kafka API サンプルは、Kafka API を直接使用する、Java で作成されたプロデューサーとコンシューマーの例です。 このサンプルは、ローカルで実行するか、IBM Cloud® 内で実行することができます。
Java クライアントで最適なパフォーマンスを得るには、バージョン 2.6.0以降を使用することをお勧めします。 詳しくは、 Java Kafka 呼び出しに関する既知の制約事項 を参照してください。
サンプル・コードは、 event-streams-samples GitHub プロジェクトにあります。 このサンプルは、メッセージの送受信には Kafka API を使用しますが、メッセージの送信先およびメッセージの受信元のトピックの作成には Event Streams 管理 API を使用します。
サンプルのセットアップと実行について詳しくは、 README.mdを参照してください。
このサンプルの実行方法の段階的な詳しい説明については、Event Streams 入門を参照してください。
Liberty for Java サンプルの使用、ダウンロード、および実行の方法
IBM® Liberty for Java™ for IBM Cloud® サンプルは、Liberty ランタイムにデプロイされる単純なアプリケーションを実装します。 このアプリケーションは、Event Streams がメッセージの生成とコンシュームを行うために、Kafka API を使用します。 また、このアプリケーションは、管理のために使用できる Web フロントエンドを提供します。
サンプル・コードは、 event-streams-samples GitHub プロジェクトにあります。
sasl.jaas.config プロパティーの使用
0.10.2.1 以降の Kafka クライアントを使用する場合は、 JAAS ファイルの代わりに、クライアント構成の sasl.jaas.config プロパティーを使用できます。 Event Streamsに接続するには、以下の例のように sasl.jaas.config を設定します。
sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required \
username="USERNAME" \
password="PASSWORD";</code>
USERNAME と PASSWORD は、 IBM Cloudの Event Streams 「サービス資格情報」 タブの値です。
sasl.jaas.config を使用する場合、同じ JVM で実行されるクライアントは異なる資格情報を使用できます。 詳しくは、 Kafka クライアントの構成を参照してください。
以前の Kafka クライアントでは、JAAS 構成ファイルを使用して資格情報を指定する必要がありました。 このメカニズムはあまり便利ではないため、代わりに sasl.jaas.config プロパティーを使用してください。
Kafka クライアントをバージョン 0.9.X または 0.10.X からそれ以降のクライアント・バージョンへ
Java クライアントを使用する場合は、公開されている Kafka クライアントのバージョン 0.10 以降を使用できます。
バージョン 0.9.X を最新バージョンに変更します。 Kafka クライアントは、 https://kafka.apache.org/downloadsからダウンロードできます。
Kafka クライアントをバージョン 0.10.2.X 以降のバージョン
バージョン 0.10.2以降では、 JAAS ファイルを使用する代わりに、クライアントのプロパティーで SASL 認証を直接構成できます。 この単純化により、異なる資格情報セットを使用して同じ JVM で複数のクライアントを実行することができます。これは、 JAAS ファイルでは実行できません。
以下のステップを実行します。
-
JAAS ファイルを削除します。 また、JVM プロパティー
java.security.auth.login.config=<PATH TO JAAS>も不要になりました。 -
クライアントのプロパティーに以下を追加します。
sasl.mechanism=PLAIN sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="USERNAME" password="PASSWORD";USERNAMEとPASSWORDは、 IBM Cloudの Event Streams 「サービス資格情報」 タブの値です。