问题描述
我正在使用 TestContainers
进行集成测试并尝试启用 SASL,以便我可以保留相同的配置文件而不是重复的代码。
public static KafkaContainer kafka =
new KafkaContainer(DockerImageName.parse(KAFKA_TEST_IMAGE))
.withNetwork(Network.newNetwork())
.withEnv("KAFKA_AUTO_CREATE_TOPICS_ENABLE","false")
.withEnv("KAFKA_ALLOW_EVERYONE_IF_NO_ACL_FOUND","true")
.withEnv("KAFKA_SUPER_USERS","User:OnlySuperUser")
// .withEnv("KAFKA_CFG_SASL_ENABLED_MECHANISMS","PLAIN")
// .withEnv("KAFKA_CFG_SASL_MECHANISM_INTER_broKER_PROTOCOL","SASL_PLAINTEXT")
.withEnv("KAFKA_SASL_ENABLED_MECHANISMS","PLAIN,SASL_PLAINTEXT")
.withEnv("KAFKA_SASL_JAAS_CONfig",JAAS_CONfig);
这是我正在玩的,但出现以下错误:
org.apache.kafka.common.errors.IllegalSaslStateException: Unexpected handshake request with client mechanism PLAIN,enabled mechanisms are []
似乎启用机制 (PLAIN) 被完全忽略了。为什么是这样?我查看了文档,但没有看到如何在容器中配置它。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)