首页 > 解决方案 > 如何在 application-definition.json 文件中配置 RabbitMQ 连接并使用交换设置队列?

问题描述

鉴于下面我在 GitHub 中找到了一个配置文件,但我不理解该文件,这就是我无法自定义它的原因

如果有人帮助我一点,我会受益匪浅。我对这种消息传递技术完全陌生。我通常查看 Spring.io 的文档并进行兔子配置,其中定义是使用 Java 纯代码完成的。因此,即使我理解该代码,我也不理解 JSON 定义文件。这里有没有人可以去 Github 的链接查看项目并解释定义文件?我会很有帮助的。

Github Demo 项目链接 Github 链接

定义文件看起来像

rabbitmq-definitions.json

{
  "rabbit_version": "3.8.3",
  "users": [
    {
      "name": "guest",
      "password_hash": "p2g0WJlCkTB+RKaAa7nyDhvBV38je4b+tU4NvrjansvMG5TA",
      "hashing_algorithm": "rabbit_password_hashing_sha256",
      "tags": "administrator"
    }
  ],
  "vhosts": [
    {
      "name": "/"
    }
  ],
  "permissions": [
    {
      "user": "guest",
      "vhost": "/",
      "configure": ".*",
      "write": ".*",
      "read": ".*"
    }
  ],
  "topic_permissions": [],
  "parameters": [],
  "global_parameters": [
    {
      "name": "cluster_name",
      "value": "rabbit@saga-example-rabbit"
    }
  ],
  "policies": [],
  "queues": [
    {
      "name": "ORDER_CREATED_EVENT",
      "vhost": "/",
      "durable": true,
      "auto_delete": false,
      "arguments": {}
    },
    {
      "name": "ORDER_CANCELED_EVENT",
      "vhost": "/",
      "durable": true,
      "auto_delete": false,
      "arguments": {}
    },
    {
      "name": "REFUND_PAYMENT_EVENT",
      "vhost": "/",
      "durable": true,
      "auto_delete": false,
      "arguments": {}
    },
    {
      "name": "ORDER_DONE_EVENT",
      "vhost": "/",
      "durable": true,
      "auto_delete": false,
      "arguments": {}
    },
    {
      "name": "BILLED_ORDER_EVENT",
      "vhost": "/",
      "durable": true,
      "auto_delete": false,
      "arguments": {}
    }
  ],
  "exchanges": [
    {
      "name": "ORDER_CANCELED_TOPIC",
      "vhost": "/",
      "type": "fanout",
      "durable": true,
      "auto_delete": false,
      "internal": false,
      "arguments": {}
    }
  ],
  "bindings": [
    {
      "source": "ORDER_CANCELED_TOPIC",
      "vhost": "/",
      "destination": "ORDER_CANCELED_EVENT",
      "destination_type": "queue",
      "routing_key": "",
      "arguments": {}
    },
    {
      "source": "ORDER_CANCELED_TOPIC",
      "vhost": "/",
      "destination": "REFUND_PAYMENT_EVENT",
      "destination_type": "queue",
      "routing_key": "",
      "arguments": {}
    }
  ]
}

标签: javaspringspring-bootrabbitmq

解决方案


推荐阅读