datastax java驱动程序4.6.1无法用application.conf覆盖配置

p5fdfcr1  于 2021-06-09  发布在  Cassandra
关注(0)|答案(2)|浏览(289)

我已经在src.main.resources文件夹中创建了application.conf:

datastax-java-driver {
  basic {
    request {
      default-idempotence = true
      timeout = 5
    }
  }
  advanced {
    connection {
      max-requests-per-connection = 32767
    }
  }
}

这些只是一些测试属性,我不认为这些属性正在被应用,因为当我在调试器中浏览时,默认值是不变的。
有什么想法可能会发生什么,或者我可以如何检查自定义属性是否正在应用?

goucqfw6

goucqfw61#

如果您使用maven,那么您已经将它正确地放置在 src/main/resources 文件夹。否则,它需要进入应用程序类路径。

dgtucam1

dgtucam12#

@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));
    }
    }
}

当我运行这个程序时,我得到了下面的结果,你也应该在你的例子中看到类似的东西(即幂等为真,超时为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

相关问题