RabbitMQ是否创建队列/交换(如果已经存在)?
我应该在创建队列之前检查并交换它们是否已经存在吗?
答案 0 :(得分:1)
RabbitMQ服务器本身不会创建交换或队列。您必须使用Web管理员GUI,command line tool,或在客户端打开的连接上创建交换和队列。最后一种选择是一种根据客户动态创建交换,队列和绑定的好方法。
重要的是要注意,交换或队列一旦创建,就不能使用不同属性再次创建。例如,如果您的客户创建了扇出交换,则不能再创建与直接交换相同的交换。使用与首次创建时相同的类型和属性来重新创建它是安全的。这只是不执行任何操作,并且将使其保持不变。但是尝试使用其他类型或属性创建它会导致错误。
对于队列也是如此。再次使用相同的属性创建它很好,使用不同的属性会导致错误。
如果可以确保始终以相同的方式创建交换或队列,则不必检查交换或队列是否存在。