有2臺linux服務器,一臺布apache(A)和tomcat應用程序(B),一臺布solr管理平臺(C)。
發現的bug為:
前臺訪問A,A轉發給B,B再訪問C,訪問失敗。
經試驗,web server和app server不能放到一臺服務器上,否則通過apache代理,app server調用solrj會因獲取不到連接而失敗。
目前跟蹤調查到
org.apache.solr.client.solrj.impl.CommonsHttpSolrServer
->
org.apache.commons.httpclient.HttpClient
->
org.apache.commons.httpclient.MultiThreadedHttpConnectionManager
httpclient的版本是3.1,懷疑是MultiThreadedHttpConnectionManager自定義的池出的問題。
網上搜了搜,沒什么相關資料。最近太忙,沒精力刨根問底了。暫時改了solrj源碼,使用了默認的new HttpClient()
有誰也遇到類似問題并解決了,或知道怎么回事,麻煩告知一下。
PS:
solr更新這么迅速,為啥不把httpclient升級一下