You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Les Novell (JIRA)" <ji...@apache.org> on 2015/09/02 03:57:46 UTC

[jira] [Created] (CAMEL-9109) AHC creating thread for each connection

Les Novell created CAMEL-9109:
---------------------------------

             Summary: AHC creating thread for each connection
                 Key: CAMEL-9109
                 URL: https://issues.apache.org/jira/browse/CAMEL-9109
             Project: Camel
          Issue Type: Bug
          Components: camel-ahc
    Affects Versions: 2.16.0
         Environment: Noted on Mac OS X
            Reporter: Les Novell


The AHC component seems to create worker threads on the thread pool for every (concurrent?) client request.  I assume, by design, it's expected that AHC is non-blocking and uses only a small number of threads even under low load.

I created a simple route to test asynchronous message passing in Camel.  When testing the route by creating 1000 simultaneous connections I see that around over 1000 threads are created to handle requests I'm forwarding on using AHC component.  

I am surprised, I thought that AHC component would use non-blocking asynchronous I/O, and a low number of threads. 

Basic Route: 
        restConfiguration().component("jetty").host("localhost").port(8081); 
        rest("/ud").get("/wait/{timeout}") 
                .to("direct:mockEndpoint").bindingMode(RestBindingMode.off); 
        from("direct:mockEndpoint") 
                .removeHeaders("CamelHttpPath") 
                .toD("ahc:http://localhost:9000/wait/${headers.timeout}?bridgeEndpoint=true"); 

It appears that the AHC component is creating worker threads to manage outgoing connections to localhost:9000. One for every connection made to localhost:9090.  

Camel version is 2.16-SNAPSHOT 




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