专栏首页毛利学Python原创 | SpringBoot监听rabbitmq和创建交换器,队列

原创 | 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创建交换器,队列。

希望以上对你学习有用

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

本文分享自微信公众号 - 毛利学Python(sen13717378202),作者:小sen

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-01-04

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • python 中的scipy模块

    润森
  • 特征提取

    特征工程是通过对原始数据的处理和加工,将原始数据属性通过处理转换为数据特征的过程,属性是数据本身具有的维度,特征是数据中所呈现出来的某一种重要的特性,通常是通过...

    润森
  • Python迭代器和生成器

    比如:列表[0,1,2],元组(1,2,3),字典{’0:'0','1':"1'} 集合{1,2,3}都是容器

    润森
  • 【数据结构与算法】一起搞定面试中的二叉树(一)

    最近总结了一些数据结构和算法相关的题目,这是二叉树相关面试题的总结,是用java实现的,由于篇幅有限,因此分为两部分,这是第一部分总结。先上二叉树的数据结构:

    用户1634449
  • 全连接神经网络(下)

    0.说在前面1.Batch Normalization1.1 什么是BN?1.2 前向传播1.3 反向传播2.Dropout2.1 什么是Dropout?2.2...

    公众号guangcity
  • Leetcode 290. Word Pattern

    Given a pattern and a string str, find if str follows the same pattern. Here ...

    triplebee
  • H5专项测试

    随着Html5的流行,现在很多业务场景使用H5页面来承载,使活动类、运营类的业务功能更便捷在微信、Native端部署,所以H5方面的测试也变得越来越重要。

    用户6367961
  • Leetcode 290. Word Pattern

    Given a pattern and a string str, find if str follows the same pattern. Here ...

    triplebee
  • MySQL使用on duplicate key update时导致主键不连续自增

    在做数据统计的时候,我们经常会用到mysql的on duplicate key update语法来自动更新数据,比如

    JouyPub
  • 接口默认方法和 Lambda 表达式

    Java8 使开发者能够通过使用 default 关键字向接口添加非抽象方法实现,也称为虚拟扩展方法。

    happyJared

扫码关注云+社区

领取腾讯云代金券