我正在使用 Spring 云流和 Kafka 活页夹来使用 SASL 连接到 Kafka 集群。SASL 配置如下所示:
spring.cloud.stream.kafka.binder.configuration.sasl.mechanism=SCRAM-SHA-512
spring.cloud.stream.kafka.binder.configuration.sasl.jaas.config= .... required username="..." password="..."
spring.cloud.stream.kafka.binder.configuration.security.protocol=SASL_SSL
我想以编程方式/在运行时更新用户名和密码,如何使用 Spring Kafka binder 在 Spring Cloud Stream 中执行此操作?
旁注:使用BinderFactory我可以获得对KafkaMessageChannelBinderwhich has的引用KafkaBinderConfigurationProperties,在其configuration哈希图中我可以看到这些配置,但我想知道如何在运行时更新配置,以便这些更改也反映在连接中?
@Autowired
BinderFactory binderFactory
....
public void foo()
{
KafkaMessageChannelBinder k = (KafkaMessageChannelBinder)binderFactory.getBinder(null, MessageChannel.class);
// Using debugger I inspected k.configurationProperties.configuration which has the SASL properties I need to update
}