如何解决Datastax Java驱动程序4.6.1无法使用application.conf覆盖配置
我在src.main.resources文件夹中创建了application.conf:
datastax-java-driver {
basic {
request {
default-idempotence = true
timeout = 5
}
}
advanced {
connection {
max-requests-per-connection = 32767
}
}
}
这些只是一些测试属性,我不认为这些属性会被应用,因为当我在调试器中四处查看时,默认值未更改。
解决方法
如果使用Maven,则已将其正确放置在src/main/resources
文件夹中。否则,它需要进入应用程序的类路径。
@ThatHansel,
您能否显示类似于以下内容的输出,以了解您从程序中获得的值?
我有一个利用DataStax Java驱动程序4.9.0
的示例类,并且正在打印值。我在这里使用默认值进行演示。
import java.net.InetSocketAddress;
import com.datastax.oss.driver.api.core.CqlSession;
import com.datastax.oss.driver.api.core.config.DefaultDriverOption;
public class DriverConfigsDemo {
public static void main(String... args) {
try (CqlSession session = CqlSession.builder().addContactPoint(new InetSocketAddress("localhost",9042))
.withLocalDatacenter("dc1").build()) {// update to match your environment
System.out.println("Driver Configs - Idempotence: " + session.getContext().getConfig().getDefaultProfile().getString(DefaultDriverOption.REQUEST_DEFAULT_IDEMPOTENCE));
System.out.println("Driver Configs - Timeout: " + session.getContext().getConfig().getDefaultProfile().getDuration(DefaultDriverOption.REQUEST_TIMEOUT));
}
}
}
当我运行此程序时,我得到以下内容,并且您的情况还应该看到相似(即幂等为 true 和超时为 PT5S ),
09:56:10.019 [main] INFO c.d.o.d.i.c.DefaultMavenCoordinates - DataStax Java driver for Apache Cassandra(R) (com.datastax.oss:java-driver-core) version 4.9.0
09:56:10.574 [s0-admin-0] INFO c.d.o.d.internal.core.time.Clock - Using native clock for microsecond precision
Driver Configs - Idempotence: false
Driver Configs - Timeout: PT2S
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。