365장. VM 구성 요소

Camel 버전 1.1에서 사용 가능

vm: 구성 요소는 비동기 SEDA 동작을 제공하여 블록 대기열에서 메시지를 교환하고 별도의 스레드 풀에서 소비자를 호출합니다.

이 구성 요소는 VM이 CamelContext 인스턴스 간 통신을 지원하는 Seda 구성 요소와 다르므로 이 메커니즘을 사용하여 웹 애플리케이션 간에 통신할 수 있습니다( camel-core.jarsystem/boot classpath에 있음)

VM은 Seda 구성 요소에 대한 확장입니다.

365.1. URI 형식

vm:queueName[?options]

여기서 queueName 은 임의의 문자열이 되어 JVM 내의 끝점을 고유하게 식별할 수 있습니다(또는 적어도 camel-core.jar에서 로드된 classloader 내에서).

다음 형식으로 URI에 쿼리 옵션을 추가할 수 있습니다. ?option=value&option=value&…​

생산자와 소비자 끝점 모두에 정확 히 동일한 VM 엔드포인트 URI를 사용해야 합니다. 그러지 않으면 Camel은 URI의 queueName 부분이 동일한 경우에도 두 번째 VM 끝점을 생성합니다. 예를 들면 다음과 같습니다.

from("direct:foo").to("vm:bar?concurrentConsumers=5");

from("vm:bar?concurrentConsumers=5").to("file://output");

생산자와 소비자 모두에 옵션을 포함하여 전체 URI를 사용해야 합니다.

Camel 2.4에서는 큐 이름만 일치하도록 수정되었습니다. 큐 이름 표시줄 을 사용하여 다음과 같이 이전 exmple을 다시 작성할 수 있습니다.

from("direct:foo").to("vm:bar");

from("vm:bar?concurrentConsumers=5").to("file://output");