Windows 环境下 Spring Boot 集成 RabbitMQ 详解
1. 前言
本节会为大家介绍,如何在 Windows 环境下,基于 Spring Boot 框架集成 Rabbit MQ 消息通信中间件。之所以考虑使用 Spring Boot 结合 Rabbit MQ 来进行集成,主要是出于当下 Spring Boot 普遍流行的原因。
Spring Boot 框架集成 Rabbit MQ 消息通信中间件,是本套课程的开端,是学习 RabbitMQ 的基础,所以,希望各位同学都能完全掌握本小节内容。
本节主要内容:
-
Spring Boot 集成 RabbitMQ 消息通信中间件之前的准备工作;
-
Spring Boot 集成 RabbitMQ 消息通信中间件;
-
Spring Boot 集成 RabbitMQ 消息通信中间件是否成功的必要性测试。
让我们来看一下如何进行集成吧。
2. Spring Boot 集成 RabbitMQ 消息通信中间件之前的准备工作
通过第一节对 Rabbit MQ 的简介,我们可以知道,Rabbit MQ 是一个基于 erlang 语言编写而成的消息通信中间件,这就类似于我们的 Java WEB 原生框架,如果我们想在本地电脑中进行 Java WEB 项目的开发,那么我们首先需要在本地电脑中安装 Java 语言支持库。
同理,如果我们想在自己的本地电脑上使用 Rabbit MQ ,那么我们就需要在安装 Rabbit MQ 之前,先在自己的本地电脑上安装好 erlang 语言支持库,接下来就让我们来看一下如何安装 erlang 语言支持库。
2.1 准备工作 1:下载并安装 erlang 语言支持库文件包
erlang 官网针对不同平台,为我们提供了许多不同格式的文件包,我们可以根据自己所在平台来选择采用哪种格式的文件包,来安装 erlang 语言支持库。
这里以 Windows 平台为例,打开这个链接:https://www.erlang.org/downloads 我们可以进到 erlang 的官网下载界面,如下图所示:
我们点击最新版本的 OTP 23.0 ,如上图红框处所示,即可开始下载,因为是从国外下载文件包,所以网速可能会有些慢,我们缓慢等待一会就好了。在下载好之后,我们会得到一个 .exe 的可执行文件,如下图所示:
双击打开该文件,默认全部勾选,我们不需要进行任何操作,点击 Next ,如下图所示:
在点击 Next 之后,需要我们选择 erlang 的安装路径,这个大家根据自己的实际情况进行选择即可,没有任何要求,如下图所示:
在选择好路径之后,我们继续点击 Next ,然后在弹出的界面中直接点击 Install 进行安装即可,如下图所示:
在点击 Install 之后,我们会进入安装过程提示界面,如下图所示,此时我们只需要等待安装完成就行了。
安装完成之后,我们会在安装过程提示界面看到如下红框所描述信息,代表我们已经把 erlang 语言支持库安装到我们的本地电脑中了,我们只需要点击 Close 按钮,关掉安装过程提示界面即可。
2.1 准备工作 2:配置 erlang 语言支持库环境变量
在安装好 erlang 语言支持库后,我们需要在本地电脑中配置 erlang 的环境变量,以至于可以全局使用 erlang 语言支持库。erlang 需要在电脑中配置两个环境变量,我们来看一下是哪两个。
Windows 系统下,我们可以右键 ‘此电脑’,找到属性,然后选择高级系统设置下的环境变量,点击新建,如下图所示:
在弹出的新建系统环境变量对话框中,我们填写环境变量名称,以及 erlang 的本地安装目录,如下图所示:
ERLANG_HOME : 表示环境变量的名称,这个是官方推荐的名字,大家也可以自定义该名称。
变量值 : 该变量值就是我们本地 erlang 的安装路径,注意是全路径,而不是相对路径。
填写完成后,点击确定,完成第一个环境变量的配置,接着我们来配置最后一个环境变量。
同样的,在系统变量下,找到 Path 属性,双击打开,在打开之后的对话框中的右上角,点击新建按钮,如下图所示:
点击新建之后,我们只需要将 erlang 语言支持库对应的 Path 属性地值填写进去就可以了,如下图所示:
上图红框位置就是我们添加的 erlang 的 Path 属性的值,为了方便,这里我把值放到下方,同学们直接复制就可以了。
%ERLANG_HOME%\bin
这个值其实就是指向到了 erlang 本地安装目录的 bin 目录下,大家简单了解一下就行。
Tips: Windows 7 及以下的操作系统在填写 Path 属性值时,可能会出现对话框,如果是这种情况,我们只需要将 Path 属性的值放到末尾就可以了,在放之前记得先输入一个英文状态下的分号,即 ; 。
在配置完成环境变量之后,我们需要验证一下 erlang 是否已经可以全局使用了,打开命令行,Windows 系统下的快捷键是 Win + R 。
打开命令行之后,在里面直接输入 erl ,然后敲回车,如果可以看到我们安装的 erlang 的 Eshell 版本号,即表示 erlang 语言支持库已经被全局配置到了我们自己的本地电脑中,可以开始安装 RabbitMQ 了。
2.3 准备工作 3:下载并安装 RabbitMQ 消息通信中间件
首先,我们需要到 RabbitMQ 的官网去下载本套课程所使用版本的 RabbitMQ,由于 RabbitMQ 是在境外网站,很不好下载,所以我把下载好的文件包放到了 github 上,以下是地址,同学们可以直接访问该链接来获取文件包:
在我们拿到文件包之后,双击该文件包,即可开始安装 RabbitMQ 的运行时环境- RabbitMQ-Server 。
整个安装过程与上述安装 erlang 语言支持库一样,这里不再赘述。
等待安装过程结束,看到如下截图,即说明 RabbitMQ 安装成功:
点击 Next 之后,我们直接点击 Finish 即可。
在安装成功之后,我们需要将本地的 RabbitMQ 服务启动起来,这里介绍最简单的一种方法。
在 Windows 环境下,我们需要为 RabbitMQ 安装一个插件,才可以正常访问 RabbitMQ 的监控台。
我们需要在 RabbitMQ 的安装目录下的 sbin 文件夹下来安装,命令如下:
rabbitmq-plugins.bat enable rabbitmq_management
看到如下截图即表示 RabbitMQ 服务启动成功
3. Spring Boot 集成 RabbitMQ 消息通信中间件
Tips: 注意,本套课程假定屏幕前的同学,你们已经在自己的电脑上搭建了一套可以正常运行的 SpringBoot 项目框架环境,如果你还没有完成这个潜在的要求,请先自行查阅资料,完成 SpringBoot 项目框架环境的搭建。
在完成集成前的准备工作之后,接下来我们来将 RabbitMQ 与 SpringBoot 框架进行集成了。本套课程使用的是 Maven 包管理工具,如果还有不熟悉该工具的同学,请自行了解,本套课程不做介绍。
使用 Maven 来集成 RabbitMQ ,首先,我们需要到 Maven 的中央仓库找到该依赖,出于方便考虑,我将该依赖项直接放到了下方,同学们可以直接拷贝。
<dependency>
<groupId>com.rabbitmq</groupId>
<artifactId>amqp-client</artifactId>
</dependency>
Tips: 对于 amqp 协议,并没有严格的版本要求,但是,因为本套课程使用 RabbitMQ 的版本是 V3.8.8 ,所以,还是希望同学们可以使用 amqp V4.5 及以上更高版本。
这里没有指定依赖的版本,则默认使用最新版本。
等待 Maven 解析完成 RabbitMQ 依赖之后,没有任何红色的报错项,说明 RabbitMQ 的依赖已经成功安装到了 SpringBoot 框架中去,接下来我们需要验证 RabbitMQ 是否成功地与 SpringBoot 框架集成。
4. Spring Boot 集成 RabbitMQ 消息通信中间件是否成功的必要性测试
无论使用哪一种集成方式,验证 RabbitMQ 集成成功与否的方式都是类似下方的内容:
当我们的 Maven 包管理工具解析完成 RabbitMQ 的依赖之后,此时,需要运行我们的 SpringBoot 项目,在项目启动完成之后,我们可以在本地浏览器地址栏中,输入以下地址:
如果看到 RabbitMQ 提示的登录信息框,如下图所示,则表示我们已经成功把 RabbitMQ 消息通信中间件集成到了 SpringBoot 框架中去了。
RabbitMQ 内置的默认账号和密码都是 guest ,我们可以登录进去看下,如下图所示:
Tips:
1.各位同学请务必按照老师要求的内容来安装 RabbitMQ-Server ,当然,如果你足够清楚不同的安装包中的内容,那么,你可以通过下载 Binary 形式的完全安装包进行安装 RabbitMQ ,否则,请使用老师提供的安装包进行安装。
2.在安装 RabbitMQ 之前,请确保 erlang 语言支持库已经成功安装,如果 erlang 语言支持库没有安装成功,请不要安装 RabbitMQ ,如果已经在错误的环境安装 RabbitMQ 导致报错,那么请完全删除掉已经安装的 RabbitMQ 内容,从头开始安装。
3.请确保下载的 erlang 语言支持库的版本为 V23.0 最新版本,否则可能会导致 RabbitMQ 无法安装成功。
4.由于 RabbitMQ 是基于 AMQP 协议的(后续会介绍),所以,Maven 依赖的名称为 amqp-client ,即 AMQP 客户端,这一点,同学们简单了解即可。
5.在启动项目之前,请先启动自己本地电脑中的 RabbitMQ 服务,否则,项目无法启动。
5. 小结
本小节从RabbitMQ的依赖项开始,分步骤详细介绍了如何下载并安装erlang语言支持库、如何配置erlang环境变量、如何验证erlang是否安装成功、如何下载并安装RabbitMQ消息通信中间件等前置工作。
在介绍RabbitMQ如何与SpringBoot框架集成时,针对容易出错的地方做了详细的讲解和提示,最后,我们通过访问RabbitMQ内置监控台的形式来验证了RabbitMQ是否与SpringBoot框架成功集成。
根据本小节内容的特点,本小节通篇采用图文并茂的讲解方式,旨在帮助同学们可以理清每一部分内容,对小节中分步骤讲解的内容,可以更清楚地学习和掌握。最后,希望各位同学在安装RabbitMQ消息通信中间件时,可以一次性成功,感谢各位同学的关注与支持。