| | |
| | | import com.matrix.component.rabbitmq.MqTask; |
| | | import com.matrix.component.rabbitmq.RabiitMqTemplate; |
| | | import com.matrix.component.rabbitmq.RabiitMqTemplateFactory; |
| | | import com.matrix.core.tools.LogUtil; |
| | | import com.matrix.system.shopXcx.mqTask.*; |
| | | import com.matrix.system.wechart.templateMsg.Task.UniformMsgSentTask; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | |
| | | |
| | | 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 |
| | | SalesOrderRefundTask SalesOrderRefundTask() { |
| | | return new SalesOrderRefundTask(); |
| | | } |
| | | |
| | | @Bean |
| | |
| | | |
| | | @Bean |
| | | public RabiitMqTemplate rabiitMqTemplate() throws IOException { |
| | | |
| | | LogUtil.info("rabbitmq: {}, {}, {}, {}", host, port, username, password); |
| | | RabiitMqTemplate rabiitMqTemplate = RabiitMqTemplateFactory.buildTemplate(host, port, username, password); |
| | | |
| | | //声明一个交换机 |
| | | 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())); |
| | | taskList.add(new MqTask(MQ_EXCHANGE_A + evn, MQTaskRouting.SHOP_ORDER_REFUND + evn,MQTaskRouting.SHOP_ORDER_REFUND + evn, SalesOrderRefundTask())); |
| | | |
| | | //不同任务在不同的队列,但是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); |
| | | |