12.2. 메시지 다이버 구성
브로커 인스턴스에서 다각형을 구성하려면 broker.xml
구성 파일의 core
요소 내에 divert
요소를 추가합니다.
<core> ... <divert name= > <address> </address> <forwarding-address> </forwarding-address> <filter string= > <routing-type> </routing-type> <exclusive> </exclusive> </divert> ... </core>
- divert
-
다양한 형식의 이름이 지정된 인스턴스입니다. 각
다이버
에 고유한 이름이 있는 한broker.xml
구성 파일에 다양한 요소를 여러 개 추가할 수 있습니다. - address
- 다양한 메시지를 전달할 주소
- forwarding-address
- 메시지를 전달할 주소
- filter
- 선택적 메시지 필터입니다. 필터를 구성하면 필터 문자열과 일치하는 메시지만 전환됩니다. 필터를 지정하지 않으면 모든 메시지는 다이버트에 의해 일치하는 것으로 간주됩니다.
- routing-type
다양한 메시지의 라우팅 유형입니다. vart를 다음과 같이 구성할 수 있습니다.
-
메시지에
anycast
또는멀티 캐스트
라우팅 유형을 적용 - 스트립 (즉, 기존 라우팅 유형 제거)
- 기존 라우팅 유형을 통과 (즉, 보존)
-
메시지에
라우팅 유형의 제어는 메시지에 이미 라우팅 유형이 설정되어 있지만 다른 라우팅 유형을 사용하는 주소로 메시지를 전환하려는 경우 유용합니다. 예를 들어 브로커는 anycast
라우팅 유형의 메시지를 다이버트의 routing-type
매개변수를 MULTICAST
로 설정하지 않는 한 멀티캐스트
를 사용하는 큐로 라우팅할 수 없습니다. 다각형의 routing-type
매개변수에 유효한 값은 ANYCAST
,MULTICAST
,PASS
, STRIP
입니다. 기본값은 STRIP
입니다.
- exclusive
-
다이버트가 배타적인지(속성을
true
로 설정) 또는 배타적이지 않은지(속성 속성을false
로 설정)할지 여부를 지정합니다.
다음 하위 섹션에서는 배타적이고 포괄적이지 않은 다이버에 대한 구성 예를 보여줍니다.
12.2.1. 예외적인 다각형 예
다음은 예외적인 다이버에 대한 구성의 예입니다. 배타적으로 구성된 메시지는 원래 구성된 주소에서 새 주소로 일치하는 모든 메시지를 다릅니다. 일치하는 메시지는 원래 주소로 라우팅되지 않습니다.
<divert name="prices-divert"> <address>priceUpdates</address> <forwarding-address>priceForwarding</forwarding-address> <filter string="office='New York'"/> <exclusive>true</exclusive> </divert>
이전 예제에서는 address priceUpdates
로 전송된 모든 메시지를 다른 로컬 주소 priceForwarding
으로 전달하는 다양한 price -divert
를 정의합니다. 메시지 필터 문자열도 지정합니다. 메시지 속성 사무실과
값이 있는 메시지만 노크래프트
됩니다. 다른 모든 메시지는 원래 주소로 라우팅됩니다. 마지막으로, 다각형이 배타적임을 지정합니다.
12.2.2. 지원되지 않는 다양한 예
다음은 포함되지 않은 다양한 구성에 대한 예제입니다. 비독점에서 메시지는 원래 주소로 계속 진행되지만 브로커는 지정된 전달 주소로 메시지 사본을 보냅니다. 따라서 비독점 다각형은 메시지 흐름을 분할하는 방법입니다.
<divert name="order-divert"> <address>orders</address> <forwarding-address>spyTopic</forwarding-address> <exclusive>false</exclusive> </divert>
이전 예제에서는 주소 순으로 전송된 모든 메시지의 복사본을 가져와서
를 정의합니다. 또한 다이버가 포함되지 않도록 지정합니다.
spyTopic
이라는 로컬 주소로 전송하는 다양한 주문
-divert
추가 리소스
배타적 및 비독점 다이버를 사용하는 자세한 예제와 브리지를 사용하여 다른 브로커로 메시지를 전달하는 방법은 다양한 예제(외부) 를 참조하십시오.