我正在使用 DataStax Java 驱动程序版本 3.3.0 运行 Java 应用程序,并且我试图在运行时更改 Cassandra 用户和密码。根据这个问题,通过调用setUser
和setPassword
在这个对象中它应该重用它以供将来调用数据库,所以我在我的代码中做了类似的事情
PlainTextAuthProvider authProvider = (PlainTextAuthProvider) cluster.getConfiguration().getProtocolOptions().getAuthProvider();
authProvider.setUsername(user);
authProvider.setPassword(pwd);
但即使在此更改之后,我发现它仍然使用我在启动时设置的用户/密码。
该文档表明在 > 4.x 版本中,您可以在运行时强制重新加载配置。
所以我的问题是,有没有办法强制所有对 Cassandra 的新调用开始使用PlainTextAuthProvider
版本 3.x 中提供的新用户和通行证?
额外:我这样做是为了尝试在它们过期时轮换 Vault 密码并相应地更新驱动程序。类似于这篇文章中描述的由 Spring Boot 但在 Cassandra 上访问的关系数据库