Cassandra Datastax Java 驱动程序没有从配置中看到环境变量
Cassandra Datastax Java driver doesn't see environment variable from 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();
application.properties
...
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
...
环境变量替换仅适用于 HOCON (application.conf
)。如果您使用标准 Java 属性,${CASSANDRA_USR}
将被解释为文字字符串。
如果切换到 HOCON 不是一个选项,您可以在启动 Java VM 的命令中使用系统 属性 覆盖:
java -Ddatastax-java-driver.advanced.auth-provider.username=${CASSANDRA_USR} ...
我正在使用如下文件中的配置加载器,但驱动程序没有从配置中看到环境变量并抛出 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();
application.properties
...
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
...
环境变量替换仅适用于 HOCON (application.conf
)。如果您使用标准 Java 属性,${CASSANDRA_USR}
将被解释为文字字符串。
如果切换到 HOCON 不是一个选项,您可以在启动 Java VM 的命令中使用系统 属性 覆盖:
java -Ddatastax-java-driver.advanced.auth-provider.username=${CASSANDRA_USR} ...