RabbitMQ 和 Spring Boot 的集成

前言

在最近的项目中使用了 RabbitMQ。 主要是用来起到一个消峰作用。

安装

安装这里分为 windowslinux

我主要的开发环境是在 windows 10 上, 运行环境是 linux(ubuntu),所以讲解主要从两个系统来说。

windows

RabbitMQerlang 开发的,所以使用之前首先要下载 erlang 选择 windows 64bit 或者 windows 32bit 根据自己电脑进行选择,下载。

下载后进行安装 将 erl 的安装目录下载的 bin 写入环境变量中。 如图所示:

cmd/powershell 中输入 erl 会出现 erl 的一些版本信息。

这样基本完成了 erlang 的安装。

安装完 erlang 那么就应该安装我们的主角 RabbitMQ

首先下载 RabbitMQ ,在下载页面 下载对应的安装包 exe 文件。

下载完成之后进行安装

安装完成之后就是我们的 RabbitMQ 就可以进行启动了。

运行

linux

这里使用的是 ubuntu 16.04 STL 发行版。

首先要安装 erlang 的相关环境

sudo apt-get install erlang

当安装完成之后在控制台输入 erl ,会有erl的版本信息。

此时的 erl 就算安装成功了。

安装完成之后我们就可以开始安装 RabbitMQ 了。

在终端中输入

sudo apt-get install rabbitmq-service

此时的 rabbitmq 就算安装成功了。

我们需要安装一些插件。

sudo rabbitmq-plugins enable rabbitmq_management

就可以完成插件的安装

当我们通过浏览器访问的时候

此时的默认账户是无法登录的,因为默认 guest 是只能通过本地访问。所以我们要新建一个账户用来可以远程访问。

1
2
3
rabbitmqctl add_user admin admin # 新建一个叫admin账户和密码为admin
rabbitmqctl set_user_tags admin administrator # 为admin账户设为administrator用户
rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*" # 为账户写入权限

与SpringBoot整合

基本的安装如上所示,下面将会将如何与 SpringBoot 整合

说明: 项目采用 .yml 格式文件作为 application 配置文件,采用 Gradle 作为构建工具,语言采用 kotlin

配置文件

首先我们对项目添加依赖。

1
2
3
4
5
dependencies {
//……
// mq
compile('org.springframework.boot:spring-boot-starter-amqp')
}

application.yml 进行配置

1
2
3
4
5
6
spring:
rabbitmq:
host: localhost
port: 5672
username: admin
password: admin

在代码中进行配置

我们新建一个类用来配置 RabbitMQ

在代码中新建了一个队列叫做 dc_check,当我们启动服务的时候就可以在 RabbitMQ 的控制台上看到这个队列

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
package com.nuc.evaluate.config
import org.springframework.amqp.core.Queue
import org.springframework.context.annotation.Bean
import org.springframework.context.annotation.Configuration
/**
* @author 杨晓辉 2018/2/6 16:07
*/
@Configuration
class RabbitConfig {
@Bean
fun checkAns(): Queue {
return Queue("dc_check")
}
}

这样我们基本完成了配置。

不介意的话,可以请我喝杯咖啡吗?或扫一扫支付宝领红包