1

我有一个用例,在第一次安装、配置和启动 RabbitMQ 后,我需要在它上声明 Exchange。Exchange 的属性(名称、类型、持久性等)位于一个文件(或多个文件)中。

这必须是自动化的,并且安装管理插件或任何其他插件不是一个选项(还没有)。

是否可以在没有客户端(Java、Erlang 等)的情况下执行此操作?

我正在运行 CentOS。

4

2 回答 2

0

安装管理插件或使用客户端确实是您唯一的选择。Rabbitmqctl 非常轻量级,不具备创建队列和交换的能力。如果可能的话,我建议获取管理插件。如果你有能力使用 Python 之类的东西,它有kombupika,它们都是很棒的客户端。

于 2012-08-06T17:15:39.980 回答
0

使用 python 和 pika http://pika.github.com/communicating.html,只需几行代码就可以完成,这可以与客户端程序代码分开。

def init_broker():
    connection = pika.BlockingConnection(pika.ConnectionParameters(host=BROKER_ADDRESS))
    channel = connection.channel()
    channel.exchange_declare(callback=None, ticket=0, exchange=EXCHANGE, type='direct', passive=False, durable=True, auto_delete=False, internal=False, nowait=False, arguments={})
    channel.queue_declare(queue=QUEUE, passive=False, durable=True, exclusive=False, auto_delete=False, nowait=False, arguments={})
    channel.queue_bind(callback=None, ticket=0, queue=QUEUE, exchange=EXCHANGE, routing_key=QUEUE, nowait=False, arguments={})
于 2012-10-01T12:30:14.337 回答