Kafka Procuder不使用Spring在SSL上生成消息

时间:2016-03-01 12:48:57

标签: spring spring-mvc apache-kafka kafka-consumer-api kafka-producer-api

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

现在我想使用SPRING在KAFKA上添加SSL,我已完成SSL KAFKASPRING KAFKA

上指定的更改

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

但是生产者没有按预期工作,消费者(niether命令行或JAVA应用程序消费者)都没有收到从JAVA应用程序生产者发送的消息

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

PS:KAFKA版本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>

1 个答案:

答案 0 :(得分: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