25.12. concurrent Consuming
JMS의 일반적인 요구 사항은 애플리케이션의 응답성을 높이기 위해 여러 스레드에서 동시에 메시지를 사용하는 것입니다. concurrentConsumers
옵션을 설정하여 다음과 같이 JMS 끝점을 제공하는 스레드 수를 지정할 수 있습니다.
from("jms:SomeQueue?concurrentConsumers=20"). bean(MyClass.class);
다음 방법 중 하나로 이 옵션을 구성할 수 있습니다.
-
JmsComponent
에서 , - URI의 끝점 또는
-
setConcurrentConsumers()
를JmsEndpoint
에서 직접 호출합니다.
25.12.1. 비동기 소비자를 사용한 동시 소비
각 동시 소비자는 현재 메시지가 완전히 처리되었을 때 JMS 브로커에서 사용 가능한 다음 메시지만 선택합니다. 이전 메시지가 비동기 라우팅 엔진에 의해 비동기적으로 처리되는 동안 소비자가 JMS 대기열에서 다음 메시지를 선택하도록 asyncConsumer=true
옵션을 설정할 수 있습니다. asyncConsumer
옵션에 대한 페이지 상단에 있는 표에서 자세한 내용을 참조하십시오.
from("jms:SomeQueue?concurrentConsumers=20&asyncConsumer=true"). bean(MyClass.class);