forked from kidgrow-microservices-platform

dougang
2021-04-08 6d0fee3cdc8cb213d0388ffa2e7ed7a091a1ea4c
kidgrow-commons/kidgrow-rabbitmq-spring-boot-starter/src/main/java/com/kidgrow/rabbitmq/config/RabbitConfig.java
@@ -13,6 +13,9 @@
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import java.util.HashMap;
import java.util.Map;
/**
 * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020<br>
 *
@@ -192,4 +195,57 @@
    Binding bindingExchangeAdvancedEvaluation(TopicExchange exchange) {
        return BindingBuilder.bind(AdvancedEvaluation()).to(exchange).with(routingKeyName);
    }
    /**
     * 可爱高咨询延时队列交换机
     * @return
     */
    @Bean
    public CustomExchange delayExchange(){
        Map<String, Object> args = new HashMap<>(16);
        args.put("x-delayed-type", "direct");
        //属性参数 交换机名称 交换机类型 是否持久化 是否自动删除 配置参数
        return new CustomExchange("kagDelayExchange", "x-delayed-message", true, false, args);
    }
    /**
     * 可爱高咨询延时队列D
     * @return
     */
    @Bean
    public Queue delayQueue(){
        //属性参数 队列名称 是否持久化
        return new Queue("kagMessageDelayQueue", true);
    }
    /**
     * 可爱高咨询
     * 延时队列绑定交换机
     * @return
     */
    @Bean
    public Binding cfgDelayBinding(){
        return BindingBuilder.bind(delayQueue()).to(delayExchange()).with("kagMessageDelayKey").noargs();
    }
    /**
     * 可爱高咨询延时队列--更改待完成状态
     * @return
     */
    @Bean
    public Queue delayUncompletedQueue(){
        //属性参数 队列名称 是否持久化
        return new Queue("kagAdvisoryNncompletedDelayQueue", true);
    }
    /**
     * 可爱高咨询
     * 给延时队列绑定交换机
     * @return
     */
    @Bean
    public Binding delayBinding(){
        return BindingBuilder.bind(delayQueue()).to(delayExchange()).with("kagAdvisoryUncompletedDelayKey").noargs();
    }
}