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 === }