hc-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Asankha C. Perera (JIRA)" <j...@apache.org>
Subject [jira] Created: (HTTPCORE-23) Threading issue with NIO extensions for client side code
Date Fri, 12 Jan 2007 18:23:27 GMT
Threading issue with NIO extensions for client side code

                 Key: HTTPCORE-23
                 URL: https://issues.apache.org/jira/browse/HTTPCORE-23
             Project: HttpComponents Core
          Issue Type: Bug
          Components: HttpCore NIO
    Affects Versions: 4.0-alpha3
            Reporter: Asankha C. Perera

I would like to write a non-blocking client based on the NIO extensions, but encounter an
issue, which could be reproduced with a modified NHttpClient example code as follows:

I want to start off a ConnectingIOReactor, and leave it running continuously. Now, whenever
I want to send a request through this reactor, I would want to execute something like
           new InetSocketAddress("www.yahoo.com", 80),
           new HttpHost("www.yahoo.com"));

However, if I execute the above before I execute ioReactor.execute(ioEventDispatch), i.e position
1, then everything works fine. If I try it after (i.e. position 2) the outcome is unpredictable
- i.e. works sometimes, NPE, etc..

It is not clear to me why connecting to the reactor after its execute() method is invoked
should be any different..?

public static void main(String[] args) throws Exception {
       HttpParams params = new DefaultHttpParams(null);
       NHttpClientHandler handler = new MyNHttpClientHandler(params);
       final IOEventDispatch ioEventDispatch = new DefaultClientIOEventDispatch(handler, params);

       // position 1                    Thread t = new Thread(new Runnable() {
           public void run() {
               try {
               } catch (Exception e) {

       // position 2

This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/jira/secure/Administrators.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira


To unsubscribe, e-mail: httpcomponents-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: httpcomponents-dev-help@jakarta.apache.org

View raw message