jyy
2021-01-26 2c25c956ee0dc781500c70c7479c36f8b58f3445
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
package com.matrix.config;
 
 
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;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
 
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
 
@Configuration
public class RabbitMqConfig {
 
    @Value("${rabbitmq.host}")
    private String host;
 
    @Value("${rabbitmq.port}")
    private int port;
 
    @Value("${rabbitmq.username}")
    private String username;
 
    @Value("${rabbitmq.password}")
    private String password;
 
    @Value("${evn}")
    private String evn;
 
    public static final String MQ_EXCHANGE_A = "hive_exchange_A";
 
    @Bean
    VipCreateTask VipCreateTask() {
        return new VipCreateTask();
    }
 
    @Bean
    OrderTask OrderrCreateTask() {
        return new OrderTask();
    }
 
    @Bean
    TemplateMsgTask TemplateMsgTask(){
        return new TemplateMsgTask();
    }
 
  @Bean
  UniformMsgSentTask UniformMsgSentTask(){
        return new UniformMsgSentTask();
    }
 
    @Bean
    OrderOutSotoreTask OrderOutSotoreTask(){
        return new OrderOutSotoreTask();
    }
 
 
    @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");
 
        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()));
 
        rabiitMqTemplate.binding(taskList);
 
        return rabiitMqTemplate;
    }
 
 
}