MQ队列命名规范
- 业务线_队列的生产者项目名_消费的项目名称_[Q/R/X]_自定义标识
如 : GDS_WMS_WOS_Q_FORECAST
对应的Exchange名为:GDS_WMS_WOS_X_FORECAST
对应的Routing key名为:GDS_WMS_WOS_R_FORECAST
;
对应的死信队列名为:GDS_WMS_WOS_Q_FORECAST_DEAD
对应的死信Exchange名为:GDS_WMS_WOS_X_FORECAST_DEAD
对应的死信Routing key名为:GDS_WMS_WOS_R_FORECAST_DEAD- 生产者队列的消息统一通过 [MQ的shovels插件] 转发到消费者队列
- 生产者不需要创建死信队列
- 消费者队列必须测试一下消息失败是否会进入对应的死信 这,很重要
MQ队列/Exchange 定义规范
- [生产者端]需要定义队列+Exchange 并且建立队列和Exchange的绑定关系
队列需要定义:
durable=true
exclusive=false, autoDelete=false
队列创建使用rabbitAdmin.declareQueue(queue); 防止队列窜到别的VH中Exchange 需要定义
durable=true
autoDelete=false
Exchange创建使用rabbitAdmin.declareExchange(exchange);防止队列窜到别的VH中建立绑定关系
rabbitAdmin.declareBinding(BindingBuilder.bind(queue).to(exchange).with(“GDS_WMS_WMS_R_TASK_ASYNC_CONSUME”));
例子