0

我尝试使用 Liberty for Java 应用程序在 Bluemix 上建立与 kafka-message-hub 的连接。我遵循了文档和 git 存储库示例。它可以正常创建/使用jaas.conf文件并表示它已登录。但是,当写入消息时,它会显示“在 60000 毫秒后更新元数据失败”。为了写消息,我必须在server.xml文件中添加以下代码:

    <jaasLoginModule id="KafkaClient"
            className="org.apache.kafka.common.security.plain.PlainLoginModule"
            controlFlag="REQUIRED" libraryRef="kafkaLoginLib">

    <options serviceName="kafka" username="MYUSERNAME" password="MYPASSWORD" />
</jaasLoginModule>

但是,文档说(在“如何将 Kafka 客户端从 0.9.x 迁移到 0.10.x”下):

  1. 删除 Message Hub 登录 Jar 模块。
  2. 将您的jaas.conf文件更改为以下代码:

KafkaClient { org.apache.kafka.common.security.plain.PlainLoginModule required serviceName="kafka" username="<your username>" password="<your password>"; };

  1. 将以下行添加到您的消费者和生产者属性中:
    sasl.mechanism=PLAIN

我在这里错过了什么吗?似乎说明说我不再需要这个模块了,但是没有它我就无法让它工作。

4

1 回答 1

2

文档是正确的,但在使用 Liberty 时,您在 server.xml 而不是 jaas.comf 文件中定义了一个。

请使用 0.10.x 客户端查看我们更新的 Liberty 示例

https://github.com/ibm-messaging/message-hub-samples/tree/master/kafka-java-liberty-sample

该示例不再包含已弃用的 messagehub login.jar

于 2017-05-23T09:03:38.803 回答