Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/grails/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Java Rest服务不支持多个连接';行不通_Javascript_Java_Postgresql_Jersey_Queue.js - Fatal编程技术网

Javascript Java Rest服务不支持多个连接';行不通

Javascript Java Rest服务不支持多个连接';行不通,javascript,java,postgresql,jersey,queue.js,Javascript,Java,Postgresql,Jersey,Queue.js,我将Queue.js用作从java RestService加载数据的库 我使用了以下代码: queue() .defer(d3.json, "rest/v1/status/geographicalData") .defer(d3.json, "rest/v1/status/geographicalFeatures") .defer(d3.json, "rest/v1/status/classes") .awaitAll(function(error, resul

我将Queue.js用作从java RestService加载数据的库

我使用了以下代码:

queue()
    .defer(d3.json, "rest/v1/status/geographicalData")
    .defer(d3.json, "rest/v1/status/geographicalFeatures")
    .defer(d3.json, "rest/v1/status/classes")
    .awaitAll(function(error, results) { console.log("all done!" + results.size)});
图书馆网站上的队列方法如下所述:

队列([并行性]) 构造具有指定并行性的新队列。如果未指定并行性,则队列具有无限并行性。否则,并行度为正整数。例如,如果parallelism为1,则所有任务都将串联运行。如果并行度为3,则最多允许同时执行三个任务;例如,在web浏览器中加载资源时,这非常有用。

我的问题是加载数据大约需要3分钟。之后,我尝试加载数据同步器。我得到的时间结果与同时执行所有3个相同。所以我猜它们不是平行加载的。如何并行执行元素的加载

更新

JavaREST服务线程

穿在前面

运行网站后的线程

加载网站后,我在调试模式下启动了rest服务,我看到了多个线程,所以rest服务不应该是问题所在

之后,我查看了数据库连接:

前分贝

运行网站后的数据库

在老顶的网站,我看到多个开放的数据库连接,所以数据库也应该是确定的

在那之后,我用firefox开发工具浪费了加载时间,但是用更多的数据要花更长的时间。但是如果它的运行几乎是平行的,那么它应该同时完成吗

之前的浏览器(较少的数据源)

浏览器之后(更多数据源)

为什么总和会根据它们是同步加载还是并行加载而变化?(在您的上下文中,sum是什么?)?您的服务器端REST端点是否可能一次只为一个连接提供服务?我指的是执行时间。并行运行应该比同步运行更快?我添加了上面网络的截图,因为我无法从网络窗口看到请求是否并行执行。Rest服务应该处理多个连接,因为加载javascript时,Rest服务会立即打开到数据库的3个连接。如果它立即打开3个连接,则表示所有3个连接都是并发运行的,至少是从客户端运行的。可能是您的数据库制约了结果。数据库是否锁定表以进行读取访问?这听起来更像是服务器端的问题,而不是客户端的问题。另外,您能否显示用于获取执行时间总和的代码?Hi crush,我在屏幕截图上方添加了,您可以看到Jersey Rest服务也会打开多个线程和数据库。我还添加了时间测量的屏幕截图,所以我没有使用firefox的代码。为什么总和会根据同步加载还是并行加载而变化?(在您的上下文中,sum是什么?)?您的服务器端REST端点是否可能一次只为一个连接提供服务?我指的是执行时间。并行运行应该比同步运行更快?我添加了上面网络的截图,因为我无法从网络窗口看到请求是否并行执行。Rest服务应该处理多个连接,因为加载javascript时,Rest服务会立即打开到数据库的3个连接。如果它立即打开3个连接,则表示所有3个连接都是并发运行的,至少是从客户端运行的。可能是您的数据库制约了结果。数据库是否锁定表以进行读取访问?这听起来更像是服务器端的问题,而不是客户端的问题。另外,您能否显示用于获取执行时间总和的代码?Hi crush,我在屏幕截图上方添加了,您可以看到Jersey Rest服务也会打开多个线程和数据库。我还添加了时间测量的屏幕截图,所以我没有使用firefox的代码。