我一直在使用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&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个并发请求的负载测试来检查这一点,并且所有请求都被处理。
答案 0 :(得分:0)
我刚检查了camel-netty和camel-netty-http的代码,maximumPoolSize用于OrderPool,你可以使用jconsoler来检查线程池的大小。 由于OrderPool用于处理camel的处理器,netty仍然有工作线程来处理连接,这意味着它仍然可以服务器20并发请求,这次。但TPS可能只有5个左右。