RabbitMQ在没有插件或客户端的情况下声明交换

时间:2012-07-18 19:38:16

标签: rabbitmq

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

这必须是自动化的,并且安装Management Plugin或任何其他插件不是一个选项(尚未)。

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

我正在运行CentOS。

2 个答案:

答案 0 :(得分:0)

安装管理插件或使用客户端确实是您唯一的选择。 Rabbitmqctl非常轻量级,无法创建队列或交换。我建议尽可能获得管理插件。如果你有能力使用类似Python的东西,它有kombupika,两者都是很棒的客户。

答案 1 :(得分: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={})