Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/384.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
Couchbase客户端(Java)IlegalStateException-检查对象有效性_Java_Scalability_Couchbase - Fatal编程技术网

Couchbase客户端(Java)IlegalStateException-检查对象有效性

Couchbase客户端(Java)IlegalStateException-检查对象有效性,java,scalability,couchbase,Java,Scalability,Couchbase,我使用ApacheCommons池来存储一组Couchbase客户端。在进行负载测试时(但负载仍然很小),在数千次操作(使用100个连接池)之后,一些Couchbase客户端对象开始抛出IlegalStateException,然后关闭 我想知道是否有办法检查CouchbaseClient对象是否仍然有效。异常是在从对象调用“set”操作时生成的,因此检查客户机是否有效将是一个可接受的解决方案 我仍然不确定异常的起因是什么。但是,当我在返回池之前对客户机进行某种验证时,问题就停止了。问题在于,这

我使用ApacheCommons池来存储一组Couchbase客户端。在进行负载测试时(但负载仍然很小),在数千次操作(使用100个连接池)之后,一些Couchbase客户端对象开始抛出IlegalStateException,然后关闭

我想知道是否有办法检查CouchbaseClient对象是否仍然有效。异常是在从对象调用“set”操作时生成的,因此检查客户机是否有效将是一个可接受的解决方案


我仍然不确定异常的起因是什么。但是,当我在返回池之前对客户机进行某种验证时,问题就停止了。问题在于,这种验证(调用set操作来测试客户机是否正在工作)过于暴力,影响了性能。我想找到一种更平滑的方法来检查这一点。

非法状态异常最常见的原因是无法将操作添加到输入队列。请参阅Couchbase Java开发者指南中关于如何处理它的部分

但是请注意,100个
CouchbaseClient
对象非常多!每个应用程序通常不需要超过一个或两个
CouchbaseClient
对象-推荐的用例是异步的,并且有一个内部线程池来处理实际的低级操作

我建议看一下,特别是关于