我正在使用一个使用SolrJ将文档索引到 Solr 服务器的 Java 应用程序。
在我的本地测试环境中,我在 windows xp 机器上的 Tomcat 服务器上运行本地 Solr 实例。当我从不同的 Windows 机器运行 Java 应用程序时,索引成功完成并且 Solr 日志文件看起来正常。
但是,运行部署在 linux 网络服务器上的同一个 Java 应用程序与另一个运行 Solr 的 linux 网络服务器通信时,在每个 solr 更新命令后我都会收到“读取超时”消息:
2011 年 7 月 14 日上午 3:12:31 org.apache.solr.core.SolrCore 执行信息:[]
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 完成信息:{} 0 20021 年 2011 年 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) 在 org.apache.solr.handler.ContentStreamHandlerBase.handleRequestBody(ContentStreamHandlerBase.java:54) 在...
引起:javax.xml.stream.XMLStreamException:java.net.SocketTimeoutException:读取超时
知道为什么会发生这种情况吗?我怀疑是某些东西在启动后关闭了这些连接(例如网络过滤软件、防火墙......),但我工作场所的网络管理员说没有流量被阻止。