package cc.mrbird.febs.common.configure;
|
|
import cc.mrbird.febs.rabbit.constants.ExchangeConstants;
|
import cc.mrbird.febs.rabbit.constants.QueueConstants;
|
import cc.mrbird.febs.rabbit.constants.RouteKeyConstants;
|
import cc.mrbird.febs.rabbit.enumerates.RabbitQueueEnum;
|
import org.springframework.amqp.core.*;
|
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 org.springframework.stereotype.Component;
|
|
import javax.annotation.Resource;
|
|
/**
|
* @author wzy
|
* @date 2021-09-25
|
**/
|
@Configuration
|
public class RabbitConfigure {
|
|
@Resource
|
private ConnectionFactory connectionFactory;
|
|
@Bean
|
@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
|
public RabbitTemplate rabbitTemplate() {
|
return new RabbitTemplate(connectionFactory);
|
}
|
|
// === 添加机器人 start ===
|
@Bean
|
public DirectExchange imAddRobotExchange() {
|
return new DirectExchange(RabbitQueueEnum.IM_REDBAG_GET_ADD_ROBOT.getExchange());
|
}
|
|
@Bean
|
public Queue imAddRobotQueue() {
|
return new Queue(RabbitQueueEnum.IM_REDBAG_GET_ADD_ROBOT.getQueue());
|
}
|
|
@Bean
|
public Binding imAddRobotBind() {
|
return BindingBuilder.bind(imAddRobotQueue()).to(imAddRobotExchange()).with(RabbitQueueEnum.IM_REDBAG_GET_ADD_ROBOT.getRoute());
|
}
|
// === 添加机器人 end ===
|
|
// === 自动发送 start ===
|
@Bean
|
public DirectExchange imAutoSendExchange() {
|
return new DirectExchange(RabbitQueueEnum.IM_REDBAG_AUTO_SEND.getExchange());
|
}
|
|
@Bean
|
public Queue imAutoSendQueue() {
|
return new Queue(RabbitQueueEnum.IM_REDBAG_AUTO_SEND.getQueue());
|
}
|
|
@Bean
|
public Binding imAutoSendBind() {
|
return BindingBuilder.bind(imAutoSendQueue()).to(imAutoSendExchange()).with(RabbitQueueEnum.IM_REDBAG_AUTO_SEND.getRoute());
|
}
|
// === 自动发送 end ===
|
|
}
|