【问题标题】:Change DataStax java driver User and Password in runtime在运行时更改 DataStax java 驱动程序用户和密码
【发布时间】:2021-09-20 01:10:33
【问题描述】:

我正在使用 DataStax Java 驱动程序版本 3.3.0 运行 Java 应用程序,并且我试图在运行时更改 Cassandra 用户和密码。根据this issue 通过在这个对象中调用setUsersetPassword 它应该重用它以供将来调用数据库,所以我在我的代码中做了类似

PlainTextAuthProvider authProvider = (PlainTextAuthProvider) cluster.getConfiguration().getProtocolOptions().getAuthProvider();

authProvider.setUsername(user);
authProvider.setPassword(pwd);

但即使在这个更改之后,我发现它仍然使用我在启动时设置的用户/密码。

This docu 表示在 > 4.x 版本中,您可以在运行时强制重新加载配置。

所以我的问题是,有没有办法强制所有对 Cassandra 的新调用开始使用 3.x 版本中通过 PlainTextAuthProvider 提供的新用户和通行证?

额外:我这样做是为了尝试在 Vault 密码过期时轮换密码并相应地更新驱动程序。类似于 post for relational DB accessed by Spring Boot but on Cassandra

中描述的内容

【问题讨论】:

    标签: cassandra datastax-java-driver spring-cloud-vault-config


    【解决方案1】:

    https://community.datastax.com/questions/11846/ 上也有人问过这个问题,我在此转发我的回复:

    我不熟悉此 API,但我认为凭据仅用于设置凭据后启动的新连接。我怀疑它不适用于继续使用旧凭据的现有连接。

    我将与 DataStax 的驱动程序开发人员联系,要么让他们直接回复,要么我将更新我的答案。干杯!

    【讨论】:

      猜你喜欢
      • 2014-05-04
      • 2016-11-29
      • 2016-11-29
      • 2020-11-14
      • 1970-01-01
      • 2018-02-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多