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);
|
}
|
|
// === start ===
|
@Bean
|
public DirectExchange memberDynamicExchange() {
|
return new DirectExchange(QueueEnum.FPD_MEMBER_DYNAMIC_PERK.getExchange());
|
}
|
@Bean
|
public Queue memberDynamicQueue() {
|
return new Queue(QueueEnum.FPD_MEMBER_DYNAMIC_PERK.getQueue());
|
}
|
@Bean
|
public Binding memberDynamicBind() {
|
return BindingBuilder.bind(memberDynamicQueue()).to(memberDynamicExchange()).with(QueueEnum.FPD_MEMBER_DYNAMIC_PERK.getRoute());
|
}
|
// === end ===
|
|
// === start ===
|
@Bean
|
public DirectExchange memberDirectExchange() {
|
return new DirectExchange(QueueEnum.FPD_MEMBER_DIRECT_PERK.getExchange());
|
}
|
@Bean
|
public Queue memberDirectQueue() {
|
return new Queue(QueueEnum.FPD_MEMBER_DIRECT_PERK.getQueue());
|
}
|
@Bean
|
public Binding memberDirectBind() {
|
return BindingBuilder.bind(memberDirectQueue()).to(memberDirectExchange()).with(QueueEnum.FPD_MEMBER_DIRECT_PERK.getRoute());
|
}
|
// === end ===
|
|
// === start ===
|
@Bean
|
public DirectExchange nodeJiliBuchangExchange() {
|
return new DirectExchange(QueueEnum.FPD_NODE_JILI_BUCHANG_PERK.getExchange());
|
}
|
@Bean
|
public Queue nodeJiliBuchangQueue() {
|
return new Queue(QueueEnum.FPD_NODE_JILI_BUCHANG_PERK.getQueue());
|
}
|
@Bean
|
public Binding nodeJiliBuchangBind() {
|
return BindingBuilder.bind(nodeJiliBuchangQueue()).to(nodeJiliBuchangExchange()).with(QueueEnum.FPD_NODE_JILI_BUCHANG_PERK.getRoute());
|
}
|
// === end ===
|
|
// === start ===
|
@Bean
|
public DirectExchange teamPerkExchange() {
|
return new DirectExchange(QueueEnum.FPD_TEAM_PERK.getExchange());
|
}
|
@Bean
|
public Queue teamPerkQueue() {
|
return new Queue(QueueEnum.FPD_TEAM_PERK.getQueue());
|
}
|
@Bean
|
public Binding teamPerkBind() {
|
return BindingBuilder.bind(teamPerkQueue()).to(teamPerkExchange()).with(QueueEnum.FPD_TEAM_PERK.getRoute());
|
}
|
// === end ===
|
|
// === start ===
|
@Bean
|
public DirectExchange memberLevelExchange() {
|
return new DirectExchange(QueueEnum.FPD_MEMBER_LEVEL.getExchange());
|
}
|
@Bean
|
public Queue memberLevelQueue() {
|
return new Queue(QueueEnum.FPD_MEMBER_LEVEL.getQueue());
|
}
|
@Bean
|
public Binding memberLevelBind() {
|
return BindingBuilder.bind(memberLevelQueue()).to(memberLevelExchange()).with(QueueEnum.FPD_MEMBER_LEVEL.getRoute());
|
}
|
// === end ===
|
}
|