当前位置:   article > 正文

Springboot中使用RabbitMQ_spring boot 应用rabit mq

spring boot 应用rabit mq

1、比较常见的MQ实现:

  • ActiveMQ
  • RabbitMQ
  • RocketMQ
  • Kafka
    几种常见MQ的对比:
项目RabbitMQActiveMQRocketMQKafka
公司/社区RabbitApache阿里Apache
开发语言ErlangJavaJavaScala&Java
协议支持AMQP,XMPP,SMTP,STOMPOpenWire,STOMP,REST,XMPP,AMQP自定义协议自定义协议
可用性一般
单机吞吐量一般非常高
消息延迟微秒级毫秒级毫秒级毫秒以内
消息可靠性一般一般

追求可用性:Kafka、 RocketMQ 、RabbitMQ

追求可靠性:RabbitMQ、RocketMQ

追求吞吐能力:RocketMQ、Kafka

追求消息低延迟:RabbitMQ、Kafka

2、RabbitMQ 下载、安装

RabbitMQ 下载、安装

3、RabbitMq在springboot中使用

在pom中加入依赖

        <!--AMQP依赖,包含RabbitMQ-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-amqp</artifactId>
        </dependency>
  • 1
  • 2
  • 3
  • 4
  • 5

在application.yml配置mq的参数

spring:
  rabbitmq:
    #设置RabbitMQ的IP地址
    host: 192.168.1.186
    #设置rabbitmq服务器用户名
    username: root
    #设置rabbitmq服务器密码
    password: root
    #设置rabbitmq服务器连接端口
    port: 5672
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

生产者

@RequiredArgsConstructor
@RestController
@RequestMapping("publisher")
public class PublisherController {
    private final RabbitTemplate rabbitTemplate;
    @GetMapping()
    public String sendMess(String queueName ,String  message ){
        rabbitTemplate.convertAndSend(queueName,message);
        return "发送成功";
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

消费者

@Component
public class ConsuerListener {
	//指定对列名称
    @RabbitListener(queues = "simple.queue")
    public void listener(String mess){
        System.out.println("接收到了来自消费者的消息:"+mess);
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

注:指定的对列需要在RabbitMQ管理后台添加
在这里插入图片描述
使用postman往接口发送一条请求,携带对列名称以及mess

在这里插入图片描述

在这里插入图片描述
到此,springboot使用RabbitMQ成功

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/958589
推荐阅读
相关标签
  

闽ICP备14008679号