Oleg, let me start with a more coherent explanation, and that might
lead to an idea about what sort of PR would be tasteful.

The Async http client is an example of a thing that creates threads,
accepts objects, and calls those objects from those threads.

Meanwhile, there are things in the world that call
Thread#getContextClassLoader, and use the class loader that they
receive in return to search. Some of the built-in Java 'SPI'
interfaces are examples.

The combination of the two of these things can lead to unpleasant
surprises, when a callback object is called on some thread whose
context class loader is not what it needs/expects.

1. One possible response to this is 'doctor, doctor'. It's the job of
the person coding the callback to capture the desired classloader, and
try/finally it into the current thread's context class loader.

2. Another possibility is for the thread-making component to accept a
ThreadFactory, and the coder can provide a thread factory that does
the right thing.

3. A third is for the thread-making component to have an explicit API
to specify the desired context class loader when calling callbacks.
Apache CXF does this.

If you want to stick to #1, I'm not going to armtwist. For all I know,
Http Async already does #2. If not, I would be happy to JIRA/PR
whichever of 2 or 3 you dislike least.





On Mon, Jan 4, 2016 at 2:09 PM, Oleg Kalnichevski <ol...@apache.org> wrote:
> On Sat, 2016-01-02 at 19:35 -0500, Benson Margulies wrote:
>> It would be convenient if there was some way to tell the HTTP client
>> what class loader to use as the Thread Context Classloader when
>> calling the FutureCallback. Otherwise, it's prone (in OSGi) to be for
>> the the http component OSGI component.
>>
>
> Hi Benson
>
> My knowledge and understanding of OSGi is rudimentary at best. Would you
> suggest a solution to this issue by submitting a patch or raising a PR?
>
> Oleg
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: httpclient-users-unsubscr...@hc.apache.org
> For additional commands, e-mail: httpclient-users-h...@hc.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: httpclient-users-unsubscr...@hc.apache.org
For additional commands, e-mail: httpclient-users-h...@hc.apache.org

Reply via email to