|  |  | 
 |  |  |  | 
 |  |  |     public static final String MQ_EXCHANGE_A = "hive_exchange_A"; | 
 |  |  |  | 
 |  |  |     //订阅模式 | 
 |  |  |     public static final String MQ_EXCHANGE_TOPIC = "hive_exchange_fanout"; | 
 |  |  |  | 
 |  |  |     @Bean | 
 |  |  |     VipCreateTask VipCreateTask() { | 
 |  |  |         return new VipCreateTask(); | 
 |  |  | 
 |  |  |     @Bean | 
 |  |  |     OrderTask OrderrCreateTask() { | 
 |  |  |         return new OrderTask(); | 
 |  |  |     } | 
 |  |  |     @Bean | 
 |  |  |     SalesOrderTask SalesOrderTask() { | 
 |  |  |         return new SalesOrderTask(); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Bean | 
 |  |  | 
 |  |  |  | 
 |  |  |         //声明一个交换机 | 
 |  |  |         rabiitMqTemplate.exchangeDeclare(MQ_EXCHANGE_A+evn, "direct"); | 
 |  |  |         rabiitMqTemplate.exchangeDeclare(MQ_EXCHANGE_A+"cf", "direct"); | 
 |  |  |         rabiitMqTemplate.exchangeDeclare(MQ_EXCHANGE_TOPIC +evn, "topic"); | 
 |  |  |  | 
 |  |  |         List<MqTask> taskList = new ArrayList<>(); | 
 |  |  |  | 
 |  |  |         //注册RabbitMq任务 | 
 |  |  |         taskList.add(new MqTask(MQ_EXCHANGE_A + evn, MQTaskRouting.CREATE_VIP + evn, MQTaskRouting.CREATE_VIP + evn, VipCreateTask())); | 
 |  |  |         taskList.add(new MqTask(MQ_EXCHANGE_A + evn, MQTaskRouting.CREATE_ORDER + evn,MQTaskRouting.CREATE_ORDER + evn,OrderrCreateTask())); | 
 |  |  |         //订阅模式 | 
 |  |  |  | 
 |  |  |  | 
 |  |  |         taskList.add(new MqTask(MQ_EXCHANGE_A + evn, MQTaskRouting.SEND_TEMPLATE_MSG + evn,MQTaskRouting.SEND_TEMPLATE_MSG + evn, TemplateMsgTask())); | 
 |  |  |         taskList.add(new MqTask(MQ_EXCHANGE_A + evn, MQTaskRouting.ORDER_OUT_SOTORE + evn,MQTaskRouting.ORDER_OUT_SOTORE + evn, OrderOutSotoreTask())); | 
 |  |  |         taskList.add(new MqTask(MQ_EXCHANGE_A + evn, MQTaskRouting.SEND_UNIFORM_TEMPLATE_MSG + evn,MQTaskRouting.SEND_UNIFORM_TEMPLATE_MSG + evn, UniformMsgSentTask())); | 
 |  |  |  | 
 |  |  |         //不同任务在不同的队列,但是routingKey一样则可以收到生产者消息 | 
 |  |  |         taskList.add(new MqTask(MQ_EXCHANGE_TOPIC + evn, MQTaskRouting.CREATE_ORDER + evn,MQTaskRouting.CREATE_ORDER + evn,SalesOrderTask())); | 
 |  |  |         taskList.add(new MqTask(MQ_EXCHANGE_TOPIC + evn, MQTaskRouting.SALES_ORDER + evn,MQTaskRouting.CREATE_ORDER + evn,OrderrCreateTask())); | 
 |  |  |  | 
 |  |  |  | 
 |  |  |         rabiitMqTemplate.binding(taskList); | 
 |  |  |  | 
 |  |  |         return rabiitMqTemplate; |