cassandra datastax java驱动程序从配置中看不到环境变量

pwuypxnk  于 2021-06-13  发布在  Cassandra
关注(0)|答案(1)|浏览(388)

我正在使用下面这样的文件中的config loader,但驱动程序并没有从config中看到环境变量并抛出 com.datastax.oss.driver.api.core.auth.AuthenticationException: Authentication error on node /105.0.153.68:9042: server replied with 'Provided username ${CASSANDRA_USR} and/or password are incorrect' to AuthResponse request 我怎样才能解决这个问题?
java代码

File confFile = new File("config/application.properties");
CqlSessionBuilder builder = CqlSession.builder();
builder.withConfigLoader(DriverConfigLoader.fromFile(confFile));
CqlSession session = builder.build();

应用程序属性

...
datastax-java-driver.advanced.auth-provider.class=PlainTextAuthProvider
datastax-java-driver.advanced.auth-provider.username=${CASSANDRA_USR}
datastax-java-driver.advanced.auth-provider.password=${CASSANDRA_PWD}
datastax-java-driver.advanced.protocol.version=V4
...
carvr3hs

carvr3hs1#

环境变量替换仅适用于hocon( application.conf ). 如果使用标准java属性, ${CASSANDRA_USR} 被解释为文本字符串。
如果切换到hocon不是一个选项,那么可以在启动java vm的命令中使用系统属性覆盖:

java -Ddatastax-java-driver.advanced.auth-provider.username=${CASSANDRA_USR} ...

相关问题