Helius
2021-05-21 d30d959c8f249c20b39e66dd0c48341a77751d21
src/main/java/com/xcong/excoin/configurations/RabbitMqConfig.java
@@ -13,6 +13,8 @@
import org.springframework.context.annotation.Scope;
import javax.annotation.Resource;
import java.util.HashMap;
import java.util.Map;
/**
 * @author wzy
@@ -122,6 +124,10 @@
    public static final String QUEUE_MARKET_BUSSINESS = "QUEUE_MARKET_BUSSINESS";
    public static final String ROUTING_KEY_DELAY = "route.delay";
    public static final String QUEUE_DELAY = "queue.delay";
    public static final String EXCHANGE_DELAY = "exchange.delay";
    @Resource
    private ConnectionFactory connectionFactory;
@@ -146,6 +152,26 @@
    }
    @Bean
    public DirectExchange delayExchange() {
        return new DirectExchange(EXCHANGE_DELAY);
    }
    @Bean
    public Queue delayQueue() {
        Map<String, Object> params = new HashMap<>();
        // x-dead-letter-exchange 声明了队列里的死信转发到的DLX名称,
        params.put("x-dead-letter-exchange", EXCHANGE_DELAY);
        // x-dead-letter-routing-key 声明了这些死信在转发时携带的 routing-key 名称。
        params.put("x-dead-letter-routing-key", ROUTING_KEY_DELAY);
        return new Queue(QUEUE_DELAY, true, false, false, params);
    }
    @Bean
    public Binding delayBinding() {
        return BindingBuilder.bind(delayQueue()).to(delayExchange()).with(ROUTING_KEY_DELAY);
    }
    @Bean
    public Queue marketBussinessQueue() {
        return new Queue(QUEUE_MARKET_BUSSINESS);
    }