package cc.mrbird.febs.rabbit;
|
|
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 2022-05-31
|
**/
|
@Configuration
|
public class RabbitConfiguration {
|
|
@Resource
|
private ConnectionFactory connectionFactory;
|
|
@Bean
|
@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
|
public RabbitTemplate rabbitTemplate() {
|
return new RabbitTemplate(connectionFactory);
|
}
|
|
@Bean
|
public DirectExchange onlineTransferExchange() {
|
return new DirectExchange(QueueEnum.ONLINE_TRANSFER.getExchange());
|
}
|
|
@Bean
|
public Queue onlineTransferQueue() {
|
return new Queue(QueueEnum.ONLINE_TRANSFER.getQueue());
|
}
|
|
@Bean
|
public Binding defaultBind() {
|
return BindingBuilder.bind(onlineTransferQueue()).to(onlineTransferExchange()).with(QueueEnum.ONLINE_TRANSFER.getRoute());
|
}
|
|
@Bean
|
public DirectExchange distribProfitExchange() {
|
return new DirectExchange(QueueEnum.DISTRIB_PROFIT.getExchange());
|
}
|
|
@Bean
|
public Queue distribProfitQueue() {
|
return new Queue(QueueEnum.DISTRIB_PROFIT.getQueue());
|
}
|
|
@Bean
|
public Binding distribProfitBind() {
|
return BindingBuilder.bind(distribProfitQueue()).to(distribProfitExchange()).with(QueueEnum.DISTRIB_PROFIT.getRoute());
|
}
|
}
|