使用 Kafka Java 客户机
Java™ Kafka API 样本是使用 Java编写的示例生产者和使用者,直接使用 Kafka API。 可以在本地或在 IBM Cloud® 中运行此样本。
为了实现 Java 客户机的最佳性能,建议您使用 V 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 运行时的简单应用程序。 应用程序将 Kafka API 用于 Event Streams 来生成和使用消息。 应用程序还提供了一个可用于管理的 Web 前端。
您可以在 event-streams-samples GitHub 项目中找到样本代码。
使用 sasl.jaas.config 属性
如果在 0.10.2.1 或更高版本上使用 Kafka 客户机,那么可以将 sasl.jaas.config 属性用于客户机配置,而不使用 JAAS 文件。 要连接到 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 客户机从 V 0.9.X 或 0.10.X 迁移到更高的客户机版本
如果使用 Java 客户机,那么可以使用公开可用的 Kafka 客户机 V 0.10 或更高版本。
建议您从 V 0.9.X 移至最新版本。 您可以从 https://kafka.apache.org/downloads下载 Kafka 客户机。
将 Kafka 客户机迁移到 V 0.10.2.X 或更高版本
从 V 0.10.2开始,可以直接在客户机的属性中配置 SASL 认证,而不是使用 JAAS 文件。 此简化使您能够使用不同凭证集在同一 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 服务凭证 选项卡中的值。