2014-10-22 2 views
0

Я играл с компонентами camel-netty и camel-netty-http и пытался выяснить, что делает maxPoolSize.maximumPoolSize in Camel-Netty

Однако, из того, что я наблюдаю на этом основании, 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 одновременными запросами и все обрабатывается.

ответ

0

Я только что проверил код верблюда-нетти и верблюда-нетти-http, maximumPoolSize используется для OrderPool, вы можете использовать jconsoler для проверки размера пула потоков. Поскольку OrderPool используется для обработки процессора на верблюде, netty по-прежнему имеет рабочий поток для обработки соединения, что означает, что он все еще может выполнять одновременный запрос сервера 20 на этот раз. Но TPS может быть примерно 5.