[ 
https://issues.apache.org/jira/browse/SOLR-8056?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14745650#comment-14745650
 ] 

Hrishikesh Gadre commented on SOLR-8056:
----------------------------------------

I see following three constructors for HttpSolrClient (on trunk)

public HttpSolrClient(String baseURL)
public HttpSolrClient(String baseURL, HttpClient client)
public HttpSolrClient(String baseURL, HttpClient client, ResponseParser parser)

As I mentioned in the description, it is currently possible to provide a custom 
HttpClient. But solrj doesn't do any cleanup and it is left to the application. 
If we provide this support, application won't need to worry about connection 
management as well. Let me know if I have missed anything.

> Solrj client constructor does not accept custom SolrParams
> ----------------------------------------------------------
>
>                 Key: SOLR-8056
>                 URL: https://issues.apache.org/jira/browse/SOLR-8056
>             Project: Solr
>          Issue Type: Bug
>          Components: SolrJ
>    Affects Versions: 4.10.3
>            Reporter: Hrishikesh Gadre
>            Priority: Minor
>
> Solrj users can customize the Http client by overriding HttpClientConfigurer 
> class (e.g. Krb5HttpClientConfigurer). But Solrj does not allow this 
> customization at an individual SolrClient level. e.g. HttpSolrClient does not 
> have a constructor which accepts default SolrParams which would be passed 
> down to HttpClientUtil while creating an internal client.
> I observed this while working on supporting Basic authentication with Solr 
> (4.10.3) version. As a work-around, I had to use external Http client support 
> in Solr. e.g.
> -----------------------------BEFORE------------------------------
> CloudSolrServer  cloudSolrServer = new CloudSolrServer(zkEnsemble);
> ------------------------------AFTER--------------------------------
> ModifiableSolrParams solrParams = new ModifiableSolrParams();
> solrParams.set(HttpClientUtil.PROP_BASIC_AUTH_USER, getLdapUserName());
> solrParams.set(HttpClientUtil.PROP_BASIC_AUTH_PASS, getLdapUserPasswd());
> DefaultHttpClient client = (DefaultHttpClient) 
> HttpClientUtil.createClient(solrParams);
> cloudSolrServer = new CloudSolrServer(zkEnsemble, new 
> LBHttpSolrServer(client));
> --------------------------------------------------------------------------------------------------
> I think it would be great necessary constructors in the SolrClient 
> implementations so that users can pass custom properties during 
> initialization.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to