Camel + JMS ConcurrentConsumer с Thread.sleep - PullRequest
       112

Camel + JMS ConcurrentConsumer с Thread.sleep

0 голосов
/ 05 августа 2020

Мне нужно протестировать распределенное приложение JMS.
Приложение представляет собой SpringBoot 2.1.0 + Camel JMS Starter 3.0.0 + Artemis JMS Client 2.6.3

Я бы протестировал добавление Thread.sleep в исполнитель сообщений в течение 1 se c. и отправить подтверждение сообщения в конце выполнения (CLIENT_ACK).

Когда я установил concurrentConsumer = 5, я ожидал бы, что система обработает около 5 сообщений / 1se c. Вместо этого я испытываю нехватку потоков, и система обрабатывает только 1 сообщение / 1se c, игнорируя параметр concurrentConsumers.

from("jms:queue:start?concurrentConsumers=5")

Без Thread.sleep система отлично работает с concurrentConsumers = 5 и обрабатывает сообщения параллельно.

Кажется, Thread.sleep блокирует какой-то внутренний механизм Camel Компонент JMS, даже если я укажу concurrentConsumer и полагаю, что ThreadPool должен работать нормально.

...