原创 | SpringBoot监听rabbitmq和创建交换器,队列

大家好,我是润森

AmqpAdmin

AmqpAdminRabbitMQ系统管理功能组件;

高级消息队列协议(AMQP)是面向消息的中间件的平台中立的线级协议。Spring AMQP项目将核心Spring概念应用于基于AMQP的消息传递解决方案的开发。Spring Boot通过RabbitMQ使用AMQP提供了一些便利,包括spring-boot-starter-amqp “Starter”

监听rabbitmq

监听rabbitmq使用的是@RabbitListener注解

@RabbitListener 用法
使用 @RabbitListener注解标记方法,当监听到队列 debug 中有消息时则会进行接收并处理

Service文件夹中定义BookService

监听atguigu.newsatguigu队列,导入@RabbitListener注释器是.amqp.rabbit下的

import org.springframework.amqp.core.Message;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Service;
/**
 * @author: 毛利
 */
@Service
public class BookService {
    @RabbitListener(queues = "atguigu.news")
    public  void recevice(Book book){
        System.out.println("收到消息:" +  book);
    }

    @RabbitListener(queues = "atguigu")
    public void receive02(Message message) {
        System.out.println(message.getBody());
        System.out.println(message.getMessageProperties());
    }
}

测试运行

控制台运行如下

创建交换器,队列

具体方法

  • amqpAdmin.declareExchange()
  • amqpAdmin.declareQueue()
  • amqpAdmin.declareBinding()
@Autowired
AmqpAdmin amqpAdmin;

@Test
public void createExchange() {

    amqpAdmin.declareExchange(new DirectExchange("amqpadmin.exchange"));
    System.out.println("创建完成");

    amqpAdmin.declareQueue(new Queue("amqpadmin.queue",true));
    //创建绑定规则

    amqpAdmin.declareBinding(new Binding("amqpadmin.queue", Binding.DestinationType.QUEUE,"amqpadmin.exchange","amqp.haha",null));

}

总结

本文通过@RabbitListener用监听rabbitmq的队列和使用amqpAdmin创建交换器,队列。

希望以上对你学习有用

再自我介绍一下吧。我叫润森,是一个的学习者。

发布了790 篇原创文章 · 获赞 100 · 访问量 14万+

猜你喜欢

转载自blog.csdn.net/weixin_44510615/article/details/103828376