我正在使用一个使用 SolrJ 将文档索引到Solr服务器的Java应用程序。
在我的本地测试环境中,我在Windows xp框上的Tomcat服务器上运行本地Solr实例。当我从不同的Windows框运行Java应用程序时,索引成功完成,Solr日志文件看起来正常。
但是,运行部署在linux webserver上的同一个Java应用程序与另一个运行Solr的linux webserver进行通信,我会在每个solr update命令后收到“read timed out”消息:
2011年7月14日上午3:12:31 org.apache.solr.core.SolrCore执行INFO:[]
webapp = / solr path = / update params = {wt = javabin& version = 1} status = 400 QTime = 20020 Jul 14,2011 3:12:51 AM org.apache.solr.update.processor.LogUpdateProcessor完成INFO:{} 0 20021年7月14日上午3:12:51 org.apache.solr.common.SolrException日志 严重:org.apache.solr.common.SolrException: java.net.SocketTimeoutException:读取超时时间 org.apache.solr.handler.XMLLoader.load(XMLLoader.java:72)at at org.apache.solr.handler.ContentStreamHandlerBase.handleRequestBody(ContentStreamHandlerBase.java:54) 在...
引起: javax.xml.stream.XMLStreamException:java.net.SocketTimeoutException: 读取超时
知道为什么会这样吗?我怀疑有些东西在启动后会关闭这些连接(例如网页过滤软件,防火墙......),但我工作场所的网络管理员说没有流量被阻止。
答案 0 :(得分:0)
只有更新甚至是查询才能获得超时时间吗?
检查Linux服务器计算机上的服务器设置是否具有非常少的超时值。