RabbitMQ:
SpringAMQP是基于Rabbitmq的一个模板、并且还利用SpringBoot对其实现了自动装配,使用之前需要先创建项目需要的虚空间,用户,密码,权限。
,
提供了三个功能:
- 自动声明队列、交换机及其绑定关系
- 基于注解的监听器模式,异步接收消息
- 封装了RabbitTemplate工具,用于发送消息
父类倒依赖
生产者和消费者中配置文件(地址,端口,项目的虚空间名,用户,密码)
生产者:
注入rabbitTemplate就可以调用方法
1设置交换机名字,RoutingKey和数据。(rabbitTemplate.convertAndSend(“交换机”RoutingKey, 数据))
2.放消息的时候spring会默认调用jdk的序列化,这个数据体积大,速度慢,
3我们会将jdk的序列化替换成Jacksond序列化(jia包放到生产者pom
启动器中添加@Bean添加jackson序列化转化器,使体积更小)
消费者:
消费者类上加注解@RabbitListenter( bindings=@QueueBindin(value=@Queue(value=”指定的消息队列名”),exchange=@Exchange(value=”相绑定的交换机的名”,type=Mq的模式),key={可以接收的key}))