首页 > 解决方案 > 将“amq.rabbitmq.event”交换配置到不同的虚拟主机?

问题描述

我正在使用rabbitmq_event_exchange插件配置RabbitMQ 。我正在使用这个插件来收听 RabbitMQ事件。默认情况下,插件在默认 vhost(/) 中创建一个名为“amq.rabbitmq.event”的交换。但是,我正在尝试将虚拟主机更改为“测试”(我创建的自定义虚拟主机)根据插件页面的说明,我在我的 rabbitmq.conf 文件中添加了一个属性rabbitmq_event_exchange.vhost= test 。但是当我尝试运行 RabbitMQ 时出现异常

    Config file generation failed 10:50:18.141 [error] You've tried to 
    set rabbitmq_event_exchange.vhost, but there is no setting with 
    that name.
    10:50:18.141 [error]   Did you mean one of these?
    10:50:18.176 [error]     mqtt.exchange
    10:50:18.176 [error]     log.exchange.level
    10:50:18.176 [error]     management.listener.port
    10:50:18.176 [error] Error generating configuration in phase 
    transform_datatypes
    10:50:18.176 [error] Conf file attempted to set unknown variable: 
    rabbitmq_event_exchange.vhost

我的 rabbitmq.conf 文件

    management.load_definitions= /opt/definitions.json
    #MQTT config
    mqtt.default_user= guest
    mqtt.default_pass= guest
    mqtt.allow_anonymous= false
    mqtt.exchange= MQTT
    mqtt.vhost= test

    #RabbitMQ event exchange config
    rabbitmq_event_exchange.vhost= test

标签: rabbitmqrabbitmq-exchange

解决方案


该插件尚未提供新的样式配置模式。我在插件 GitHub 页面中提出了一个问题来进行此增强。我们必须使用advanced.config文件和经典配置格式来配置自定义 vhost。

高级配置

[
  {rabbitmq_event_exchange, [{vhost, <<"test">>}]}
].

参考:https ://groups.google.com/forum/#!topic/rabbitmq-users/Z7_5WGc2ubE


推荐阅读