0

使用 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();
    }

该程序继续像这样运行,不会被终止并抛出错误: 在此处输入图像描述

使用 Python 阿朗戈:

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连接到远程服务器,它显示空白屏幕,这意味着我的本地主机与远程主机之间的连接没有问题。

谢谢

4

2 回答 2

0

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

于 2019-11-20T16:32:11.900 回答
0

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

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

于 2019-05-26T02:58:33.560 回答