当前位置:   article > 正文

JAVA操作RabbitMQ_java原生操作rabbitmq

java原生操作rabbitmq

一、 linux环境安装

RabbitMQ介绍:使用Erlang语言开发的开源消息队列系统,基于AMQP协议来实现。AMQP的主要特征是面向消息、队列、路由(包括点对点和发布/订阅)、可靠性、安全。AMQP协议更多用在企业系统内对数据一致性、稳定性和可靠性要求很高的场景,对性能和吞吐量的要求还在其次。

rabbitMQ官网: https://www.rabbitmq.com/download.html
在这里插入图片描述
安装步骤如下:
1. 安装erlang环境, rpm -ivh erlang-22.3.4.12-1.el7.x86_64.rpm
2. 安装rabbitMQ(需要有外网),yum install -y rabbitmq-server-3.7.18-1.el7.noarch.rpm
3. 拷贝配置文件,cp /usr/share/doc/rabbitmq-server-3.7.18/rabbitmq.config.example /etc/rabbitmq/rabbitmq.config
4.、修改rabbitmq.config文件,开启允许来宾用户登录访问页面(用户密码guest/guest)
5启动rabbitMQ插件管理,rabbitmq-plugins enable rabbitmq_management
6启动RabbitMQ服务(关闭、重启、查看状态命令)
systemctl start rabbitmq-server
systemctl stop rabbitmq-server
systemctl restart rabbitmq-server
systemctl status rabbitmq-server
7关闭防火墙
[root@xupeng ~]# systemctl disable firewalld
[root@xupeng ~]# systemctl stop firewalld
8访问页面,端口是15672
在这里插入图片描述
9、页面介绍
在这里插入图片描述
10、错误排查,因为我之前安装过一遍,所以没有问题,初次安装可能会出现如下两个错误
10.1. 提示socat依赖被需要,则执行yum -y install socat
10.2. rabbitMQ启动不起来,可以尝试再次调用重启命令,还是起不来 journalctl -xe 命令查看错误日志。我的日志里有这么一条错误ERROR: epmd error for host 192: badarg (unknown POSIX error) ,大概意思就是主机名称不能有数字,调整命令如下

# 查看下自己主机名称
[root@xupeng ~]# hostname
xupeng
# 修改下主机名称
[root@xupeng ~]# set-hostname xupeng
  • 1
  • 2
  • 3
  • 4
  • 5

.
11、下面是实际操作,

[root@xupeng test]# ll
总用量 32200
drwxr-xr-x. 2 root root      222 94 12:09 bin
-rw-r--r--. 1 root root 19991728 98 09:39 erlang-22.3.4.12-1.el7.x86_64.rpm
-rw-r--r--. 1 root root 10494431 98 09:39 rabbitmq-server-3.7.18-1.el7.noarch.rpm
drwxrwxr-x. 7 root root     4096 104 2021 redis-6.2.6
-rw-r--r--. 1 root root  2476542 412 22:58 redis-6.2.6.tar.gz

[root@xupeng test]# rpm -ivh erlang-22.3.4.12-1.el7.x86_64.rpm 
警告:erlang-22.3.4.12-1.el7.x86_64.rpm: 头V4 RSA/SHA1 Signature, 密钥 ID 6026dfca: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...
   1:erlang-22.3.4.12-1.el7           ################################# [100%]
[root@xupeng test]# yum list | grep erlang
erlang.x86_64                             22.3.4.12-1.el7              installed
[root@xupeng test]# yum -y remove erlang-*
已加载插件:fastestmirror, langpacks
参数 erlang-22.3.4.12-1.el7.x86_64.rpm 没有匹配
不删除任何软件包

[root@xupeng test]# yum install -y rabbitmq-server-3.7.18-1.el7.noarch.rpm
已加载插件:fastestmirror, langpacks
正在检查 rabbitmq-server-3.7.18-1.el7.noarch.rpm: rabbitmq-server-3.7.18-1.el7.noarch
rabbitmq-server-3.7.18-1.el7.noarch.rpm 将被安装
正在解决依赖关系
There are unfinished transactions remaining. You might consider running yum-complete-transaction, or "yum-complete-transaction --cleanup-only" and "yum history redo last", first to finish them. If those don't work you'll have to try removing/installing packages by hand (maybe package-cleanup can help).
--> 正在检查事务
---> 软件包 rabbitmq-server.noarch.0.3.7.18-1.el7 将被 安装
--> 解决依赖关系完成

依赖关系解决

===============================================================================================================================================================================================================================
 Package                                            架构                                      版本                                               源                                                                       大小
===============================================================================================================================================================================================================================
正在安装:
 rabbitmq-server                                    noarch                                    3.7.18-1.el7                                       /rabbitmq-server-3.7.18-1.el7.noarch                                     11 M

事务概要
===============================================================================================================================================================================================================================
安装  1 软件包

总计:11 M
安装大小:11 M
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
警告:RPM 数据库已被非 yum 程序修改。
  正在安装    : rabbitmq-server-3.7.18-1.el7.noarch                                                                                                                                                                        1/1 
  验证中      : rabbitmq-server-3.7.18-1.el7.noarch                                                                                                                                                                        1/1 

已安装:
  rabbitmq-server.noarch 0:3.7.18-1.el7                                                                                                                                                                                        
完毕!


[root@xupeng test]# ll /usr/share/doc/rabbitmq-server-3.7.18/rabbitmq*
-rw-r--r--. 1 root root 33235 916 2019 /usr/share/doc/rabbitmq-server-3.7.18/rabbitmq.config.example
[root@xupeng test]# cp /usr/share/doc/rabbitmq-server-3.7.18/rabbitmq.config.example /etc/rabbitmq/rabbitmq.config
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61

修改配置文件
在这里插入图片描述
继续回到linux

[root@xupeng rabbitmq]# rabbitmq-plugins enable rabbitmq_management
Enabling plugins on node rabbit@xupeng:
rabbitmq_management
The following plugins have been configured:
  rabbitmq_management
  rabbitmq_management_agent
  rabbitmq_web_dispatch
Applying plugin configuration to rabbit@xupeng...
The following plugins have been enabled:
  rabbitmq_management
  rabbitmq_management_agent
  rabbitmq_web_dispatch
set 3 plugins.
Offline change; changes will take effect at broker restart.

[root@xupeng ~]# systemctl disable firewalld
[root@xupeng ~]# systemctl stop firewalld
[root@xupeng ~]# systemctl start rabbitmq-server
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

二、模型演示

最左侧圆点是生产者,最右侧圆点是消费者,红色的是队列,深蓝的圆点是路由
大致使用就是生产者的消息可以通过路由或直接向队列里添加,消费者从队列里获取
在这里插入图片描述

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

闽ICP备14008679号