使用基本身份验证在Spring中配置HttpClient

时间:2010-10-05 14:32:24

标签: spring solr apache-commons-httpclient

我正在我们的应用程序中实现一个SOLR服务器。 我们使用SolrJ包中的CommonsHttpSolrServer连接到使用commons-httpclient的solr服务器。 我们也使用Spring。

现在我们的sysadmin保护了solr服务器(有充分理由)并使用了Basic Auth。

如何使用Basic Auth实例化HttpClient以在SolrJ中注入?

e.g。

<bean id="httpSolrServer" class="org.apache.solr.client.solrj.impl.CommonsHttpSolrServer">
    <constructor-arg value="${solrserver_path}" />
    <constructor-arg ref="solrHttpClient" />
</bean>

谢谢!

1 个答案:

答案 0 :(得分:1)

不幸的是,您必须使用创建客户端的工厂。在身份验证中涉及的类中没有凭据的bean属性,即 HttpState.setCredentials(AuthScope, Credentials)这不是bean属性。

我将HttpClientFactory上传到github。另请snippet for the spring context