带有Javascript API的OrientDB连接超时

问题描述 投票:2回答:1

在我的webapp客户端脚本中,我使用的是OrientDB Javascript API(orientdb-api.js)。当脚本初始化时,我运行以下代码:

var orientdb = new ODatabase("http://localhost:2480/testapp");
var orientdbinfo = orientdb.open('root', 'admin');

这很好,我可以进行所有各种查询,只要我之间的等待时间不超过15秒。如果这样做,我将返回“错误401(未经授权)”。

我知道这是套接字连接超时的事实。该时间范围与配置中的15000ms超时设置匹配。另外,作为测试,我构建了一个小按钮,该按钮调用上面的orientdb.open方法并重新打开连接。单击该按钮后,我可以再次访问数据库。

当前,当我从Web UI触发操作​​时,查询和命令将直接在脚本中调用。我是不是很懒,我是否真的应该将每个查询都包装在一个函数中,该函数首先测试连接并在连接关闭时重新初始化,或者我缺少什么?如果是前者,那是什么优雅的编码方式呢?如果是后者,我想念什么?

为了解决这个问题,我正在运行setInterval函数,该函数每14秒打开一个新套接字。那肯定会让我通过测试,但是我意识到这是一个hack。

javascript orientdb orientjs
1个回答
0
投票

启动OrientDB服务器时,它将创建两个套接字:2424(二进制)和2480(HTTP)。

由于OrientJS uses the binary protocol,您需要连接到端口2424

尝试:

var orientdb = new ODatabase("http://localhost:2424/testapp");
var orientdbinfo = orientdb.open('root', 'admin');

并且插座应保持打开状态(更长)。

© www.soinside.com 2019 - 2024. All rights reserved.