【问题标题】:How to give connection details for cassandra in properties file using datastax java driver如何使用datastax java驱动程序在属性文件中为cassandra提供连接详细信息
【发布时间】:2016-06-02 20:38:55
【问题描述】:
Initializer myInitializer = ... // your implementation
Cluster cluster = Cluster.buildFrom(myInitializer);

我正在尝试使用addcontactpoints("192.1.1.1","192.2.2.2").build() 中提到的几个节点详细信息连接到 Cassandra集群。

现在我想连接到 Cassandra 集群,但不提及该方法。我想在单独的属性文件中提及我的节点详细信息,并希望使用该属性文件连接到我的集群。我在 Java 驱动程序中有一种方法叫做getcontactpoint()

我不知道如何使用它并实现它。请帮助我改进我的代码

【问题讨论】:

    标签: java cassandra datastax-java-driver


    【解决方案1】:

    把所有节点的ip如下 节点=192.1.1.1,192.2.2.2

    在 java 资源接口中,你可以使用它来获取你的属性文件

    点赞 ResourceBundle resource=ResourceBundle.getBundle("cassandra")

    然后通过 getProperty 方法,您可以获取节点并用 comma(,) 拆分它,因此它将为您提供 Array of String mean all IP 。 喜欢 节点=resource.getString("节点")

    然后在方法 addContactPoints() 中只给节点变量。

    like addContactPoints(nodes)

    【讨论】:

    • 谢谢@mahendra sign,我试过你说的但是当我使用资源时我没有得到 getBundle() 方法。所以我使用了 ResouceBundle 然后我可以得到那个 getBundle() 方法之后我没有为其获取 getProperty() 方法,因此我使用了 getString() 但我无法在线程“main”java.util.MissingResourceException 中获取异常作为异常:找不到基本名称 CassandraConnections 的捆绑包,我放弃了语言环境 en_US我的代码为 ResourceBundle rb=ResourceBundle.getBundle("CassandraConnections",Locale.ENGLISH);字符串节点=rb.getString("nodes");请帮我清楚
    • 您是否在资源文件夹中创建了 CassandraConnections.properties 文件
    • 您是使用 java 的 main 方法还是在 tomcat 上运行程序?并创建了简单的java项目的maven项目?
    • 不需要给Locale.ENGLISH
    • 导入 java.util.ResourceBundle; public class ResourceBundleDemo { public static void main(String[] args) { // 创建一个具有默认语言环境的新资源包 ResourceBundle bundle = ResourceBundle.getBundle("hello"); // 打印分配给键“hello”的文本 System.out.println("" + bundle.getString("hello")); } } 它会像这样工作
    猜你喜欢
    • 2013-12-23
    • 1970-01-01
    • 2017-08-07
    • 2017-07-13
    • 2021-02-09
    • 2019-11-30
    • 1970-01-01
    • 2020-03-17
    • 2018-04-16
    相关资源
    最近更新 更多