RabbitMQ基础<一>

声明:以下都是自己的一点小想法,因技术能力有限,不对的地方或有补充的地方请留言

一. RabbitMQ声明Exchange的两种方式

1.@bean 方式
   @Bean
    public FanoutExchange declareExchange() {
        return new FanoutExchange(ExchangeName);
    }

优势:简单易写容易理解
缺点:结构不清晰。当声明的Exchange 过多时不宜管理,想要找到对应的Exchange可能要浪费半天时间,改动起来麻烦

2.实现ApplicationRunner
@Component
public class Ignition implements ApplicationRunner {

    private AmqpAdmin amqpAdmin;

    @Autowired
    public Ignition(AmqpAdmin amqpAdmin) {
        this.amqpAdmin = amqpAdmin;
    }

    @Override
    public void run(ApplicationArguments args) throws Exception {

        // 声明Exchange
        declareExchange();
    }

    /**
     * 声明Exchange
     */
    private void declareExchange() {
        TopicExchange exchange = new TopicExchange(ExchangeName, true, false);
        amqpAdmin.declareExchange(exchange);
    }

优势:结构清晰,每一个声明都能有效快速的找到。Exchange容易管理
缺点:编码比第一种大。

二. RabbitMQ发送消息

  @Autowired
   private AmqpTemplate amqpTemplate;

    // 发送
    amqpTemplate.send(ExchangeName,routingKey, new Message(message.getBytes(), new MessageProperties()));

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容