【问题标题】:Can't connect to arangodb using Java API无法使用 Java API 连接到 arangodb
【发布时间】:2018-11-08 06:39:10
【问题描述】:

使用 Java 驱动程序访问 arangodb 时遇到问题。 当我运行我的应用程序时,它会运行,但既不显示任何响应,也不抛出任何错误。然后我认为它一定是我与远程arangodb服务器的连接有问题,我尝试使用Python arangodb进行连接,并且连接成功。

有人知道我的 arangodb Java 应用程序有什么问题吗? java连接器和python到arango之间有什么区别吗?我正在使用 java 驱动程序 arango 5.0.1

这是我尝试过的:

Java 驱动程序:

public static void main(String[] args) {
        // TODO Auto-generated method stub

        @SuppressWarnings("deprecation")
        ArangoDB arangodb = new ArangoDB.Builder().timeout(100).host("10.22.21.70",8599).user("xxx").password("xxx").useProtocol(Protocol.VST).build(); 
        System.out.println("Test Start");
        ArangoDatabase db = arangodb.db("data");

        boolean tes = db.exists();

        System.out.println("success");
        arangodb.shutdown();
    }

这个程序继续像这样运行,没有被终止并抛出错误: enter image description here

使用 Python Arango:

import json
from arango import ArangoClient
from pyArango.connection import *


USER = 'xxx'
PASS = 'xxx'
HOST = '10.22.21.70'
DATABASE = 'data'
PORTT = 8599

client = ArangoClient(host=HOST,port=PORTT)
db = client.db(DATABASE,username=USER,password=PASS)

query = 'FOR s IN Email FILTER s.date>= "2018-11-07" LIMIT 0,2 RETURN s'
queryResult = db.aql.execute(query,batch_size=2,count=True)
res = queryResult.batch()


print(res)

我也尝试过使用telnet连接到远程服务器,但它显示空白屏幕,这意味着我的本地主机与远程主机之间的连接没有问题。

谢谢

【问题讨论】:

标签: java arangodb pyarango


【解决方案1】:

我正在使用 java 驱动程序 arango 5.0.1

我有同样的问题。使用v4.2.2 解决了这个问题。如果有人能解释为什么驱动程序不兼容,那就太好了。

【讨论】:

    【解决方案2】:

    您将超时设置为 100 毫秒,也许您在连接到远程服务器时有更高的网络延迟?要仔细检查这是否是问题,您可以尝试不设置超时。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-12-10
      • 1970-01-01
      • 2013-11-03
      • 1970-01-01
      • 1970-01-01
      • 2017-03-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多