某些消息随机获取 IAMClientCallbackHandler 类未找到异常

问题描述 投票:0回答:1

目前,在我们的用例中,我们一条一条地发送消息[不是批量]以维护传入的订单顺序,同时一条一条地发送大约 5000 多条消息或使用 kafkatemplate send 方法发送一条消息,我们收到以下错误消息

Exception while sending record to Kafka: Invalid value software.amazon.msk.auth.iam.IAMClientCallbackHandler for configuration sasl.client.callback.handler.class: Class software.amazon.msk.auth.iam.IAMClientCallbackHandler could not be found."}
org.apache.kafka.common.config.ConfigException: Invalid value software.amazon.msk.auth.iam.IAMClientCallbackHandler for configuration sasl.client.callback.handler.class: Class software.amazon.msk.auth.iam.IAMClientCallbackHandler could not be found. 

在 5000 条记录中,大约 500 条消息将被推送到 kafka,其余消息将因上述错误而失败。 我们使用来自启用了 IAM 的 aws 的 aws 托管 kafka 服务。 aws-msk-iam-auth - 1.1.6 jar [观察到与 1.1.5 相同的问题] 生产者配置属性 ProducerConfig.put("security.protocol","SASL_SSL"); ProducerConfig.put("sasl.mechanism","AWS_MSK_IAM"); ProducerConfig.put("sasl.jaas.config","需要 software.amazon.msk.auth.iam.IAMLoginModule;"); ProducerConfig.put("sasl.client.callback.handler.class","software.amazon.msk.auth.iam.IAMClientCallbackHandler"); 尝试在类路径中显式添加 aws-msk-iam-auth。

任何帮助/建议都会有帮助。

amazon-web-services apache-kafka spring-kafka kafka-producer-api aws-msk
1个回答
0
投票

试试这个:

导入 software.amazon.msk.auth.iam.IAMClientCallbackHandler;

ProducerConfig.put("security.protocol","SASL_SSL"); ProducerConfig.put("sasl.mechanism","AWS_MSK_IAM"); ProducerConfig.put("sasl.jaas.config","需要 software.amazon.msk.auth.iam.IAMLoginModule;"); ProducerConfig.put("sasl.client.callback.handler.class",IAMClientCallbackHandler.class);

它会起作用的!

© www.soinside.com 2019 - 2024. All rights reserved.