0

我正在尝试将 KAFKA 与 Spring 集成,我的 JAVA 应用程序正在与 KAFKA 服务器通信,并且当我使用 HTTP 运行应用程序时,我也在接收消息。

现在我想使用 Spring 在 KAFKA 上添加 SSL,并且我已经完成了SSL KAFKASPRING KAFKA上指定的更改

当我使用命令行(使用 SSL)运行生产者和消费者时,通信正常进行,但是当我更改 Java 应用程序的配置并尝试在主题上生成和使用消息时,消费者工作正常,我正在收到消息指定的主题。

但是生产者没有按预期工作从 JAVA 应用程序生产者发送的消息在消费者(无论是命令行还是 JAVA 应用程序消费者)上都没有收到。

我已经用谷歌搜索了它,但没有找到答案。任何指针?

PS:KAFKA Version kafka 0.9.0.0, JAVA 7, Spring使用的SSL属性如下:

<prop key="ssl.keystore.location">/keystore.jks</prop>
<prop key="ssl.keystore.password">password</prop>
<prop key="ssl.key.password">password</prop>
<prop key="security.protocol">SSL</prop>
<prop key="ssl.truststore.location">/truststore.jks</prop>
<prop key="ssl.truststore.password">password</prop>
4

1 回答 1

0

请添加此属性:

ssl.protocol=SSL

以下是生产者所需的所有属性:

{
ssl.protocol=SSL
security.protocol=SSL
ssl.truststore.location=/home/vagrant/securityDemo/kafka.client.truststore.jks
ssl.truststore.password=test1234
ssl.keystore.location=/home/vagrant/securityDemo/kafka.server.keystore.jks
ssl.keystore.password=test1234
ssl.key.password=test1234
}

参考 - 工作代码:https ://github.com/Symantec/kafka-security-0.9/blob/master/src/main/resources/Producer.Properties

于 2016-03-20T23:42:19.737 回答