我在尝试了解标题类型的交换是如何工作时遇到了一些问题。
只有一个交换,myExchange
三个队列:
绑定:
我希望邮件的标题有多个值; test1 , test2 , test3 的任意组合(例如: test1 , test1 和 test2 , test3 和 test2 等......)
myQueue3 只有在拥有myHeaders的情况下才会收到消息:[ test1,test2,test3 ]。我希望 myQueue3 来获取消息,例如 test1 和 test2 。
myQueue1 只有在拥有myHeaders的情况下才会收到消息:[ test1 ]。我希望 myQueue1 来获取消息,例如 test1 和[ test1 , test2 ]。
有没有办法实现这种行为?谢谢
答案 0 :(得分:0)
我同意这些评论,我试图实现目前不支持的东西。我将使用路由键。
答案 1 :(得分:0)
为此,我有一个窍门。
绑定:
myQueue1将收到标头包含{test1:true}的所有消息。
myQueue2将收到标头包含{test2:true}的所有消息。
myQueue3将收到标头包含以下消息之一的所有消息:{test1:true},{test2:true}或{test3:true}。
我更喜欢这样做,因为路由密钥限制为255个字节,但是标头中元素的数量限制非常高。
为了性能,我不知道这是最好的。