使用标题交换

时间:2016-06-21 16:56:56

标签: rabbitmq rabbitmq-exchange dead-letter

我喜欢根据原始队列名称将死信消息路由到dlx队列。我的设置:

死信信息如下所示

{
    "payload_bytes": 44,
    "redelivered": true,
    "exchange": "dlx",
    "routing_key": "foo-exchange",
    "properties": {
        "delivery_mode": 2,
        "headers": {
            "x-death": [
                {
                    "count": 1,
                    "reason": "rejected",
                    "queue": "foo-queue",
                    "time": 1466502931,
                    "exchange": "foo-exchange",
                    "routing-keys": ["foo-exchange"]
                }
            ]
        }
    },
}

我有以下绑定:

{
    {
        "source": "header-dlx",
        "vhost": "/",
        "destination": "foo-dlx-queue",
        "destination_type": "queue",
        "routing_key": "",
        "arguments": {
          "x-death": [
            {
              "queue": "foo-queue"
            }
          ]
        }
    },
    {
        "source": "header-dlx",
        "vhost": "/",
        "destination": "bar-dlx-queue",
        "destination_type": "queue",
        "routing_key": "",
        "arguments": {
          "x-death": [
            {
              "queue": "bar-queue"
            }
          ]
        }
    }
}

当我将死信的消息传递给我的header-dlx交换机时,这是一个简单的头交换,我希望消息将丢弃到foo-dlx-queue,但消息被丢弃到两个绑定的dlx队列中。

知道我做错了吗?

0 个答案:

没有答案