[
https://issues.apache.org/jira/browse/HTTPCLIENT-805?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12776977#action_12776977
]
Ismael Juma commented on HTTPCLIENT-805:
----------------------------------------
I think this would be better if one could get a default scheme registry from
somewhere. By default I mean one like the one created in
DefaultHttpClient.createClientConnectionManager:
SchemeRegistry registry = new SchemeRegistry();
registry.register(
new Scheme("http", PlainSocketFactory.getSocketFactory(), 80));
registry.register(
new Scheme("https", SSLSocketFactory.getSocketFactory(), 443));
> Pass ClientConnectionManager to DefaultHttpClient constructor
> -------------------------------------------------------------
>
> Key: HTTPCLIENT-805
> URL: https://issues.apache.org/jira/browse/HTTPCLIENT-805
> Project: HttpComponents HttpClient
> Issue Type: Improvement
> Components: HttpClient, HttpConn
> Affects Versions: 4.0 Beta 1
> Reporter: Kenny MacLeod
> Fix For: 4.1 Alpha1
>
>
> Copied from my mailing list post, Oleg suggested I post it to JIRA for 4.1
> fix.
> I'm trying to find the least verbose way of configuring a DefaultHttpClient
> with a ThreadSafeClientConnManager.
> The example code given for this goes through a manual process of configuring
> HttpParams and SchemeRegistry objects, which is more or less copied from the
> DefaultHttpClient.createHttpParams() and createClientConnectionManager()
> methods.
> It's a bit of a chicken and egg situation - DefaultHttpClient can create its
> own HttpParams and SchemeRegistry, which are themselves fine, but only once
> its been constructed, and the constructor requires the
> ThreadSafeClientConnManager, but that in turn requires the HttpParams and
> SchemeRegistry objects. The only way out is to manually construct the
> HttpParams and SchemeRegistry, which is a waste.
> It seems to me that DefaultHttpClient's constructor should take a
> ClientConnectionManagerFactory instead of a ClientConnectionManager. That
> way, the createClientConnectionManager() method already has the factory
> reference, and doesn't have to grub around in the HttpParams object to find
> it.
> The code would then become:
> new DefaultHttpClient(new ThreadSafeClientConnManagerFactory(), null);
> where ThreadSafeClientConnManagerFactory.newInstance() just constructs
> ThreadSafeClientConnManager. There's no manual construction of HttpParams
> and SchemeRegistry, you just leave it up to DefaultHttpClient.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]