0

我在 solrj 4 中有一个多线程应用程序。线程(最多 25 个)共享一个到 HttpSolrServer 的连接。每个线程都运行一个查询。这工作了一段时间,直到它最终崩溃并显示以下消息:

Jan 12, 2013 12:52:15 PM org.apache.http.impl.client.DefaultRequestDirector tryExecute
INFO: Retrying request
Jan 12, 2013 12:52:15 PM org.apache.http.impl.client.DefaultRequestDirector tryExecute
INFO: I/O exception (java.net.SocketException) caught when processing request: Connection reset

我想捕捉这个异常并重置与服务器的连接。我没有通过上述消息获得整个堆栈跟踪,所以我不确定在哪里执行此操作。我引用服务器的唯一地方是进行查询:

server.query( query )

但是这个抛出的唯一异常是我目前正在处理的 SolrServerException。

任何建议将不胜感激。

仅供参考,这就是我设置初始服务器连接的方式:

    server = new HttpSolrServer(url);
            server.setSoTimeout(0);
            server.setDefaultMaxConnectionsPerHost(50);
            server.setMaxTotalConnections(128);
4

0 回答 0