camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Charles Moulliard <ch0...@gmail.com>
Subject Re: Issue with maximumPoolSize & Netty4-http component
Date Thu, 14 Jan 2016 07:43:27 GMT
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 <ch007m@gmail.com> 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 <willem.jiang@gmail.com>
> 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 (ch007m@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

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message