java - 如何在 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": {}
}
]
}