程序笔记   发布时间:2022-07-05  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了RabbitMQ 快速上手教程 ~大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

本文前置知识

Docker 搭建 RabbitMQ 环境

为了方便c;采用 Docker 进行安装࿰c;直接从仓库拉取即可(首先要在 Liunx 中安装 Docker 环境)。命令如下:

1、查找 rabbitmq 镜像

docker search rabbitmq:management

2、拉取 rabbitmq 镜像

docker pull macintoshplus/rabbitmq-management

3、创建容器并运行

docker run -d --name rbmq -e RABBITMQ_DEFAULT_USER=guest -e RABBITMQ_DEFAULT_PASS=guest -p 15672:15672 -p 5672:5672 c20

4、访问测试:浏览器输入 http://服务器ip:15672。注意:阿里云防火墙、Linux 端口都要开放࿰c;才可访问。

RabbitMQ 快速上手教程 ~

输入用户名与密码:都为 guest

登录成功后࿰c;即可看到 rabbitmq 的管理界面。

RabbitMQ 快速上手教程 ~

SpringBoot 整合 RabbitMQ

RabbitMQ 可以很方便地与 SpringBoot 整合。

1、导入 Maven 依赖:

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-amqp</artifactId>
		</dependency>

2、配置文件中指定 rabbitmq 相关参数:

spring:
  application:
    name: rabbitmq-demo
  rabbitmq:
    host: 服务器公网ip
    port: 5672
    username: guest
    password: guest

3、写一个配置类࿰c;将队列注入到 Spring 容器中࿰c;同时定义好队列的名称:

import org.springframework.amqp.core.Queue;
import org.springframework.context.Annotation.Bean;
import org.springframework.context.Annotation.Configuration;

@Configuration
public class QueueConfig {
    public static final String QUEUE_NAME = "myQueue";
    @Bean
    public Queue createQueue() {
        return new Queue(QueueConfig.QUEUE_NAME);
    }
}

4、消费者处理消息:添加 @RabbitListener 注解并指定要监听的队列名称

import org.springframework.amqp.rabbit.Annotation.RabbitListener;
import org.springframework.stereotype.Component;

@Component
public class Consumer {
    @RabbitListener(queues = {QueueConfig.QUEUE_NAME})
    public void handle(String msg) {
        // 消费者处理接收到的消息
        System.out.println("消费者处理消息:" + msg);
    }
}

5、生产者发送消息:引入 AmqpTemplate 模板类实现整合

import org.springframework.amqp.core.AmqpTemplate;
import org.springframework.beans.factory.Annotation.Autowired;
import org.springframework.stereotype.Component;

@Component
public class Provider {
    @Autowired
    private AmqpTemplate template;
    public void send(String msg) {
        // 生产者发送消息:队列名称,消息内容
        template.convertAndSend(QueueConfig.QUEUE_NAME, msg);
    }
}

6、启动 SpringBoot 项目࿰c;消费者进入监听状态࿰c;查看 rabbitmq 管理界面如下:

RabbitMQ 快速上手教程 ~

连接数、队列数、消费者数都从 0 变为 1。

还可以查看到我们刚刚定义的队列名称信息:

RabbitMQ 快速上手教程 ~

队列名称为 myQueue

7、JUnit 进行测试:生产者发送消息

import com.study.rbmq.Provider;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.Annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

@SpringBootTest
class SpringbootDockerApplicationTests {
	@Autowired
	private Provider provider;
	@Test
	void contextLoads() {
		provider.send("RabbitMQ入门案例~");
	}
}

运行测试程序࿰c;在 SpringBoot 程序的控制台中可看到如下结果:

RabbitMQ 快速上手教程 ~

生产者发送消息到队列后࿰c;消费者监听到该消息࿰c;对其进行处理。

总结

  • 消息队列具有三大核心特性:解耦、异步、削峰。RabbitMQ 是其中的一种࿰c;具有低延迟的特点࿰c;性能极好。
  • 由于 RabbitMQ 基于 Erlang 语言开发࿰c;安装环境首先需要下载 Erlang࿰c;而采用 Docker 可以帮助我们省略这些繁琐的步骤。
  • 最后࿰c;RabbitMQ 可以很方便地与 SpringBoot 整合࿰c;开箱即用。

大佬总结

以上是大佬教程为你收集整理的RabbitMQ 快速上手教程 ~全部内容,希望文章能够帮你解决RabbitMQ 快速上手教程 ~所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。