使用以下路由键将两个队列绑定到主题交换:
队列A,绑定路由密钥模式匹配*.foo
队列B,与路由键模式匹配*.bar
我想在此交换中添加第三个队列,该队列接收既不是foo
消息也不是bar
消息的消息。如果我使用#
路由键绑定此队列,我自然会收到我需要的所有邮件,但包括foo
&{39}和bar
' s 39;不想。
任何方式来路由修补模式NOT *.foo
和NOT *.bar
?
答案 0 :(得分:6)
如果要捕获与任何绑定不匹配的所有邮件,可以使用Alternate Exchange完成。
为现有的交换添加备用交换并收集来自备用交换的所有消息:
standard workflow --> [main exchange (topic)]
| --> via binding *.foo --> [foo queue]
| --> via binding *.bar --> [bar queue]
v
[alternate exchange (let it be topic too)]
--> via binding * --> []
对于更具体的情况,当你有N个绑定但是你想要捕获所有与M绑定不匹配的消息(其中M