Camel-Netty中的maximumPoolSize

时间:2014-10-22 11:18:15

标签: apache-camel netty apache-karaf

我一直在使用camel-netty和camel-netty-http组件,并试图找出maximumPoolSize的设置。

然而,基于此我观察到的是,OrderPool总是处理16个并发请求。我正在尝试将maximumPoolSize更改为值5,如下所示,

<bean id="nettyBean" class="com.redhat.NettyTestImpl">
        <property name="message" value="Netty maximumPoolSize test"/>
    </bean>

    <camelContext trace="false" xmlns="http://camel.apache.org/schema/blueprint" autoStartup="true">
        <route>
            <from uri="netty-http:http://localhost:8080/hello?maximumPoolSize=5&amp;sync=true"/>

            <log message="Forwarding to Netty component ....."/>
            <setBody>
                <method ref="nettyBean" method="sayHi"/>
            </setBody>
            <delay>
                <constant>3000</constant>
            </delay>

            <log message="The body contains : ${body}"/>
        </route>
    </camelContext>

但似乎我无法将maximumPoolSize设置为值。那么,我做错了什么?如何设置maximumPoolSize?

我通过20个并发请求的负载测试来检查这一点,并且所有请求都被处理。

1 个答案:

答案 0 :(得分:0)

我刚检查了camel-netty和camel-netty-http的代码,maximumPoolSize用于OrderPool,你可以使用jconsoler来检查线程池的大小。 由于OrderPool用于处理camel的处理器,netty仍然有工作线程来处理连接,这意味着它仍然可以服务器20并发请求,这次。但TPS可能只有5个左右。