在启动时加载RabbitMQ配置

14

如何在启动时加载RabbitMQ配置以确认已创建代理对象(队列、交换机、绑定、用户、虚拟主机、权限和参数)?

根据RabbitMQ文档,可以通过load_definitions实现。 http://www.rabbitmq.com/management.html#load-definitions

但我无法弄清楚如何使用它。是否有人可以分享一个如何工作的示例?我在网上找不到任何示例。

1个回答

20

文件文档中有两个相对不够清晰的细节,这些细节曾经让我遇到了困难。

生成定义文件

我发现最简单的方法是配置一个RabbitMQ服务器,将其设置为所需状态,然后...

  1. 进入管理网页界面。
  2. 在概览选项卡/页面底部查找“导入/导出定义”标题。
  3. 点击该部分的“下载代理程序定义”按钮。

配置RabbitMQ在启动时查找定义文件

  1. 将文件定义放在文件系统上某个用户可读取的位置。
  2. 在配置文件中添加如下语句块:

    {rabbitmq_management, [ {listener, [...]}, {load_definitions, "/etc/rabbitmq/definitions.json"} ]},

在启动时,这些定义应被加载。任何加载错误都会显示在日志中。


1
如果您已经安装了 rabbitmqadmin,您还可以执行 ./rabbitmqadmin export definitions.json 以导出您的定义。 - Niklas B
1
谢谢您的解释,我认为在您的答案中包含一个definitions.json文件示例仍然很有用,对于那些在服务器上安装RabbitMQ并且无法使用Web界面的人来说。 - nuoritoveri
这使用旧的配置格式,与3.7的docker镜像不兼容。您知道新格式中对应的配置吗? - Jan Hudec
实际的配置文件是一个包含各种设置的文件。当您提到添加如上所示的块时,我应该删除所有其他设置并添加此设置,还是只需将给定的设置附加到链接文件中? - Vino
@Vino @Jan-hudec 新的样式将是 management.load_definitions = /path/to/definitions/file.json,但旧样式仍然有效。有关更多信息,请访问此处 - Naruto Sempai

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接