
# 配置RabbitMQ优先级队列
优先级队列（Priority Queue）是一种突破传统FIFO（先进先出）规则的特殊队列结构，其核心特征是**消息的消费顺序由优先级决定**。
RabbitMQ 3.x.x版本和AMQP-0-9-1版本都支持配置优先级队列。
#### 约束与限制
- RabbitMQ 3.x.x版本的优先级取值为：0\~255。
- RabbitMQ AMQP-0-9-1版本的优先级取值为：0\~9。
 
#### 配置优先级队列
1. 在声明队列时设置"x-max-priority"参数（如x-max-priority=5），指定队列支持的最大优先级范围，值越大优先级越高。
2. 在发送消息时通过"priority"属性设置优先级，值越大优先级越高。
3. （可选）将队列划分为多个子队列，消费时按照优先级顺序，从高到低依次处理。示例代码如下： 
   ```
   String queueName = "queue"
   channel.queueDeclare(queueName, true, false, false, args);
   final AMQP.BasicProperties.Builder basicProps = new AMQP.BasicProperties().builder();
   basicProps.priority(5);
   channel.basicPublish("", queueName, basicProps.build(), "test".getBytes())
   ```
   
   
 
