package cc.mrbird.febs.common.configure;
|
|
import org.springframework.amqp.core.Binding;
|
import org.springframework.amqp.core.BindingBuilder;
|
import org.springframework.amqp.core.DirectExchange;
|
import org.springframework.amqp.core.Queue;
|
import org.springframework.amqp.rabbit.connection.ConnectionFactory;
|
import org.springframework.amqp.rabbit.core.RabbitTemplate;
|
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
|
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Scope;
|
|
import javax.annotation.Resource;
|
|
/**
|
* @author wzy
|
* @date 2021-12-17
|
**/
|
@Configuration
|
public class RabbitMqConfig {
|
|
public static final String EXCHANGE_USDT_ADDRESS = "exchange_usdt_address";
|
public static final String QUEUE_USDT_ADDRESS= "queue_usdt_address";
|
public static final String ROUTING_KEY_USDT_ADDRESS = "routing_key_usdt_address";
|
|
|
public static final String EXCHANGE_ONE = "exchange_trc20_block";
|
public static final String QUEUE_TRC20_BLOCK = "QUEUE_TRC20_BLOCK";
|
public static final String ROUTING_TRC20_BLOCK = "ROUTING_TRC20_BLOCK";
|
|
|
public static final String EXCHANGE_USDT_UPDATE = "exchange_usdt_update";
|
public static final String QUEUE_USDT_UPDATE = "queue_usdt_update";
|
public static final String ROUTING_KEY_USDT_UPDATE = "routing_key_usdt_update";
|
|
@Resource
|
private ConnectionFactory connectionFactory;
|
|
@Bean
|
@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
|
public RabbitTemplate rabbitTemplate() {
|
return new RabbitTemplate(connectionFactory);
|
}
|
|
@Bean
|
public DirectExchange defaultExchange() {
|
return new DirectExchange(EXCHANGE_ONE);
|
}
|
|
@Bean
|
public Queue trc20Queue() {
|
return new Queue(QUEUE_TRC20_BLOCK);
|
}
|
|
@Bean
|
public Binding trc20Binding() {
|
return BindingBuilder.bind(trc20Queue()).to(defaultExchange()).with(ROUTING_TRC20_BLOCK);
|
}
|
|
@Bean
|
public Queue usdtAddressQueue() {
|
return new Queue(QUEUE_USDT_ADDRESS, true);
|
}
|
|
@Bean
|
public Binding usdtAddressbinding() {
|
return BindingBuilder.bind(usdtAddressQueue()).to(usdtAddressExchange()).with(ROUTING_KEY_USDT_ADDRESS);
|
}
|
|
@Bean
|
public DirectExchange usdtAddressExchange() {
|
return new DirectExchange(EXCHANGE_USDT_ADDRESS);
|
}
|
|
|
@Bean
|
public DirectExchange usdtUpdateExchange() {
|
return new DirectExchange(EXCHANGE_USDT_UPDATE);
|
}
|
|
@Bean
|
public Queue usdtUpdateQueue() {
|
return new Queue(QUEUE_USDT_UPDATE, true);
|
}
|
|
@Bean
|
public Binding usdtUpdatebinding() {
|
return BindingBuilder.bind(usdtUpdateQueue()).to(usdtUpdateExchange()).with(ROUTING_KEY_USDT_UPDATE);
|
}
|
|
}
|