2014-04-10 2 views
0

지난 몇 주 동안 RabbitMQ를 배웠습니다. "머리글"Exchange를 사용하여 데시지 션 트리 유형 라우팅을 설정하려고합니다. 일치하는 경우 그것을 brach하는 방법을 알아요. 그러나 헤더가 트리의 다른 내용과 일치하지 않는 경우에만 보내지는 "모두 포착"대기열이 필요합니다. RabbitMQ 헤더 교환 "NOT"또는 "다른 사람에게 적합하지 않았습니다."

그래서
Exchange1 -> if header.value1 = "company1" then goto queue "company1" 

-> if header.value1 = "company2" then goto queue "company2" 

-> if header.value1 didn't match anyone else then goto queue "catch all" 

나는 쉽게 알아 냈 처음 두 얻었다. 그러나 나는 "안"또는 "성냥을 찾지 못했습니다"하는 법을 알아낼 수 없습니다.

관련 규칙이없는 "모두 포착"을 설정하면 다른 규칙에서 일치하는 메시지를 포함하여 모든 메시지가 여기에 전송됩니다.

답변

3

RabbitMQ 바인딩에는 NOT 기능이 없습니다. 그러나, RabbitMQ는 당신이 찾고있는 것을 대체 할 교류를하는 기능을 제공합니다.

메시지를 다른 교환기로 보내려면 정책을 설정해야하며 다른 대기열을 바인딩해야합니다 ("모두 포착"해야 함). 이 새로운 교환기는 라우팅 될 수없는 메시지를 수신하여 팬 아웃으로 생성 할 수 있습니다.

여기에서 자세한 정보를 찾을 수 있습니다 :

+0

Alternate Exchanges 당신은 생명의 은인이야, 정말 감사합니다. – Lup

+0

안녕하세요 ^^ – hveiga