Hi Charles, I just created a JIRA[1] for it and will back port the patch CAMEL-8031 to camel-netty4 shortly.
[1]https://issues.apache.org/jira/browse/CAMEL-9514 -- Willem Jiang Blog: http://willemjiang.blogspot.com (English) http://jnn.iteye.com (Chinese) Twitter: willemjiang Weibo: 姜宁willem On January 14, 2016 at 3:43:27 PM, Charles Moulliard (ch0...@gmail.com) wrote: > The workaround only work for the netty4-http but not when we use it with > the Rest DSL > > This syntax > > @Override > public void configure() throws Exception { > // configure to use netty4-http on localhost with the given > port > restConfiguration() > .component("netty4-http") > .host("localhost").port(getPort()) > .endpointProperty("nettyHttpBinding", "#mybinding") > .componentProperty("maximumPoolSize","2"); > > // use the rest DSL to define the rest services > rest("/users/") > .get("{id}/basic") > .route() > .log(">> Thread name : ${threadName}") > > will continue to use 16 Threads when we send concurrently 20 messages > > On Thu, Jan 14, 2016 at 8:26 AM, Charles Moulliard wrote: > > > Hi Willem, > > > > Thx for your input. I have fixed my problem by setting the parameter on > > the component itself > > > > public void configure() throws Exception { > > > > NettyHttpConfiguration nettyConfig = new > > NettyHttpConfiguration(); > > nettyConfig.setMaximumPoolSize(2); > > NettyHttpComponent nettyHttp = new NettyHttpComponent(); > > nettyHttp.setConfiguration(nettyConfig); > > > > getContext().addComponent("netty4-http", nettyHttp); > > nettyHttp.start(); > > > > // expose a echo service > > from("netty4-http:http://localhost:{{port}}/echo") > > .log(">> Thread name : ${threadName}") > > > > .transform(body().append(body())).to("mock:result"); > > } > > > > Only 2 threads are created now > > > > Regards, > > > > Charles > > > > On Thu, Jan 14, 2016 at 2:33 AM, Willem Jiang > > wrote: > > > >> Hi Charles, > >> > >> You should be able to setup the maximumPoolSize on the Netty4-http > >> component level due to CAMEL-8031[1]. > >> And the maximumPoolSize only works for consumer side. > >> > >> [1]https://issues.apache.org/jira/browse/CAMEL-8031 > >> > >> -- > >> Willem Jiang > >> > >> > >> Blog: http://willemjiang.blogspot.com (English) > >> http://jnn.iteye.com (Chinese) > >> Twitter: willemjiang > >> Weibo: 姜宁willem > >> > >> > >> > >> On January 14, 2016 at 1:09:04 AM, Charles Moulliard (ch0...@gmail.com) > >> wrote: > >> > Hi, > >> > > >> > When I debug this unit test > >> > https://gist.github.com/cmoulliard/123261f7ac2a9d5c719c, the Camel > >> Netty4 > >> > HTTP Endpoint is well created with the param "maximumPoolSize=2" > >> > > >> > main TRACE [org.apache.camel.impl.DefaultComponent] - Creating endpoint > >> > uri=[netty4-http://http://localhost:26025/echo?maximumPoolSize=2], > >> path=[ > >> > http://localhost:26025/echo], parameters=[{maximumPoolSize=2}] > >> > > >> > but the number of threads reported by Netty is still bigger than 2 > >> > > >> > Camel (camel-1) thread #4 - NettyEventExecutorGroup INFO [route1] - >> > >> > Thread name : Camel (camel-1) thread #4 - NettyEventExecutorGroup > >> > Camel (camel-1) thread #3 - NettyEventExecutorGroup INFO [route1] - >> > >> > Thread name : Camel (camel-1) thread #3 - NettyEventExecutorGroup > >> > Camel (camel-1) thread #2 - NettyEventExecutorGroup INFO [route1] - >> > >> > Thread name : Camel (camel-1) thread #2 - NettyEventExecutorGroup > >> > Camel (camel-1) thread #1 - NettyEventExecutorGroup INFO [route1] - >> > >> > Thread name : Camel (camel-1) thread #1 - NettyEventExecutorGroup > >> > Camel (camel-1) thread #0 - NettyEventExecutorGroup INFO [route1] - >> > >> > Thread name : Camel (camel-1) thread #0 - NettyEventExecutorGroup > >> > Camel (camel-1) thread #4 - NettyEventExecutorGroup INFO [route1] - >> > >> > Thread name : Camel (camel-1) thread #4 - NettyEventExecutorGroup > >> > Camel (camel-1) thread #3 - NettyEventExecutorGroup INFO [route1] - >> > >> > Thread name : Camel (camel-1) thread #3 - NettyEventExecutorGroup > >> > Camel (camel-1) thread #4 - NettyEventExecutorGroup INFO [route1] - >> > >> > Thread name : Camel (camel-1) thread #4 - NettyEventExecutorGroup > >> > Camel (camel-1) thread #0 - NettyEventExecutorGroup INFO [route1] - >> > >> > Thread name : Camel (camel-1) thread #0 - NettyEventExecutorGroup > >> > Camel (camel-1) thread #2 - NettyEventExecutorGroup INFO [route1] - >> > >> > Thread name : Camel (camel-1) thread #2 - NettyEventExecutorGroup > >> > > >> > Do I have to use another param to set the ThreadPool used by > >> Netty4-http ? > >> > > >> > > >> > Regards, > >> > > >> > -- > >> > Charles Moulliard > >> > Apache Committer & PMC / Architect @RedHat > >> > Twitter : @cmoulliard | Blog : http://cmoulliard.github.io > >> > > >> > >> > > > > > > -- > > Charles Moulliard > > Apache Committer & PMC / Architect @RedHat > > Twitter : @cmoulliard | Blog : http://cmoulliard.github.io > > > > > > > -- > Charles Moulliard > Apache Committer & PMC / Architect @RedHat > Twitter : @cmoulliard | Blog : http://cmoulliard.github.io >