gpt4 book ai didi

java - 类路径中的 Couchbase 属性文件

转载 作者:行者123 更新时间:2023-11-28 23:23:20 25 4
gpt4 key购买 nike

我正在使用 Tomcat 处理 Java 后端,并尝试连接到托管的 couchbase 实例。我已经在 ../tomcat/Catalina/localhost/context.xml.default 中设置了我的配置目录的路径

<Parameter name="CONFIG_DIRECTORY" value="/opt/platform/conf" override="false"/>

另外我在 ../tomcat/bin/setenv.sh 中设置了一个 CLASSPATH 参数

CLASSPATH=/opt/platform/conf/

下面是我正在使用的代码片段:

    String initialNodes = RuntimeData.INSTANCE.getConfigurationValue("MYNODES");
String bucketId = RuntimeData.INSTANCE.getConfigurationValue("MYBUCKET");
System.out.println("Creating cluster for " + initialNodes);
try {
System.out.println("HOST INET ADDRESS : " + InetAddress.getByName(initialNodes));
} catch (UnknownHostException e) {
System.out.println("UNKNOWN HOST EXCEPTION : " + initialNodes);
}

cluster = CouchbaseCluster.create(initialNodes.split(","));
System.out.println("Creating bucket for " + bucketId);
bucket = cluster.openBucket(bucketId, 10, TimeUnit.SECONDS);
System.out.println("Creating graph.");
graph = new CBGraph();

在这段代码中,我有一些调试日志记录,我可以确认我确实为 initialNodes 和存储桶提取了正确的值。当我尝试创建一个新的 CBGraph() 时,我的问题目前出现在最后一行。

我收到这个错误:

Caused by: com.couchbase.client.core.config.ConfigurationException: No valid node found to bootstrap from. Please check your network configuration.

我的猜测是,包含我的 couchbase 服务器所有连接信息的属性文件不知何故没有加载到类路径中……或者它加载的时间晚于我也需要它的时间。

我唯一能够将 CLASSPATH 设置添加到 setenv.sh 的验证是,一旦 tomcat 运行,如果我执行 ps auxw|grep tomcat,我确实会看到类路径中的路径。

欢迎就此问题提供任何帮助。我看过其他一些帖子,但我不确定我在这里尝试解决的问题,除了我得到的错误。

补充:

在运行时查看 INFO 日志,我可以验证包含我的 couchbase .properties 文件的目录是否在类路径中。但是......看起来 couchbase 正在尝试使用默认值(复制在下面)进行初始化

INFO: Using the following configuration ...
Oct 24, 2016 3:08:09 PM com.couchbase.graph.conn.ConnectionFactory createCon
INFO: hosts = ubuntu-local

最佳答案

关于java - 类路径中的 Couchbase 属性文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40188365/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com