我有一个用例,我需要在RabbitMQ首次安装,配置和启动后声明Exchange。 Exchange的属性(名称,类型,持久性等)位于文件(或文件)中。
这必须是自动化的,并且安装Management Plugin或任何其他插件不是一个选项(尚未)。
是否可以在没有客户端(Java,Erlang等)的情况下执行此操作?
我正在运行CentOS。
答案 0 :(得分:0)
安装管理插件或使用客户端确实是您唯一的选择。 Rabbitmqctl非常轻量级,无法创建队列或交换。我建议尽可能获得管理插件。如果你有能力使用类似Python的东西,它有kombu和pika,两者都是很棒的客户。
答案 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={})