环境:腾讯云centos7

注意:rabbitmq安装插件,可能会报错。本人是主机名的问题,所以修改了主机名。

vim /etc/hosts

vim /etc/hostname

修改这两个文件,并重启主机,然后再运行rabbitmq,没有问题了。

1、下载安装包

https://www.rabbitmq.com/install-generic-unix.html

2、解压

安装xz :yum -y install xz
xz -d rabbitmq-server-generic-unix-3.7.17.tar.xz
tar -xvf rabbitmq-server-generic-unix-3.7.17.tar

3、安装

mkdir /usr/java/

mv rabbitmq-server-generic-unix-3.7.17 /usr/java/rabbitmq-server

cd /usr/java/rabbitmq-server/sbin

4、安装erlang

由于rabbitmq是erlang语言开发,所以需要该语言环境
yum install erlang -y

5、安装管理界面插件

rabbitmq-plugins enable     rabbitmq_management

6、运行mq

启动服务:rabbitmq-server -detached  或者 rabbitmq-server    start
查看状态:rabbitmqctl status
关闭服务:rabbitmqctl stop
查看插件列表:abbitmq-plugins list
新增用户:rabbitmqctl add_user Username Password
删除用户:rabbitmqctl delete_user Username
修改用户密码:rabbitmqctl change_password Username Newpassword
查看当前用户列表:rabbitmqctl list_users

7、验证是否启动

ss -tnalp 查看端口,如果有15672,则运行成功。

8、进入web界面

http://ip:15672/    初始账号/密码:guest/guest  

登录报错:User can only log in via localhost 
  原因:rabbitmq从3.3.0开始禁止使用guest/guest权限通过除localhost外的访问
解决方法:找到ebin/rabbit.app文件,将 {loopback_users, [<<"guest">>]},  改为{loopback_users, []}

完毕!

#######springboot集成实践######

1、pom.xml文件添加依赖

 <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-amqp -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
<version>2.1.3.RELEASE</version>
</dependency>

2、在yml文件中添加服务ip

#默认使用配置  #activemq
spring:
rabbitmq:
host: 132.232.44.82

3、RabbitMQConfig.java 这个文件不能少,否则启动报错(所有的消息的topic都要在这个文件进行注册)

package com.cn.commodity.config;

import org.springframework.amqp.core.Queue;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; @Configuration
public class RabbitMQConfig {
//direct模式,直接根据队列名称投递消息
@Bean
public Queue logOpQueue(){
return new Queue("oplog");
} @Bean
public Queue logErrQueue(){
return new Queue("errlog");
} //不要偷懒 一定要声明
@Bean
public Queue chatMessageQueue(){
return new Queue("yang");
} @Bean
public Queue mapMessageQueue(){
return new Queue("rabbitmq_map");
}
}

4、RabbitmqProducer.java

package com.cn.commodity.controller;

import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; @RestController
public class RabbitmqProducer {
@Autowired
private RabbitTemplate rabbitTemplate;
@RequestMapping(value = "testSend")
public void testSend(String msg){
rabbitTemplate.convertAndSend("yang","rabbitmq 发送消息:"+msg);
}
@RequestMapping(value = "testSendMap")
public void testSendMap(String msg){
rabbitTemplate.convertAndSend("rabbitmq_map","rabbitmq 发送消息:"+msg);
} }

5、RabbitmqConsumer.java

package com.cn.commodity.controller;

import org.springframework.amqp.rabbit.annotation.RabbitHandler;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Component; import java.util.HashMap;
import java.util.Map; @Component
public class RabbitmqConsumer {
@RabbitHandler
@RabbitListener(queues="yang" )
public void showMessage(String message){
System.out.println("yangwj接收到消息:"+message);
} @RabbitHandler
@RabbitListener(queues="rabbitmq_map" )
public void showMessage(){
Map map = new HashMap();
map.put("1","大爷你好");
System.out.println("yangwj接收到消息:"+map);
}
}

启动运行,完毕!

springboot之rabbitmq安装与实践的更多相关文章

  1. springboot之kafka安装与实践

    环境:腾讯云centos7 1.下载 http://mirror.bit.edu.cn/apache/kafka/2.3.0/kafka_2.11-2.3.0.tgz 2.解压 tar -xvf ka ...

  2. springboot之activemq安装与实践

    环境:腾讯云centos7 注意:activemq安装插件,可能会报错.本人是主机名的问题,所以修改了主机名. vim /etc/hosts vim /etc/hostname 修改这两个文件,并重启 ...

  3. SpringBoot(九)RabbitMQ安装及配置和使用,消息确认机制

    Windows下RabbitMQ安装及配置地址: https://blog.csdn.net/zhm3023/article/details/82217222RabbitMQ(四)订阅模式:https ...

  4. Spring-boot之 rabbitmq

    今天学习了下spring-boot接入rabbitmq. windows下的安装:https://www.cnblogs.com/ericli-ericli/p/5902270.html 使用博客:h ...

  5. centos7 rabbitmq安装以及应用

    安装单机rabbitmq   1.安装erlang cd /usr.local yum install wget yum install net-tools wget http://erlang.or ...

  6. SpringBoot非官方教程 | 第十五篇:Springboot整合RabbitMQ

    转载请标明出处: 原文首发于:https://www.fangzhipeng.com/springboot/2017/07/11/springboot15-rabbitmq/ 本文出自方志朋的博客 这 ...

  7. SpringBoot整合RabbitMq(二)

           本文序列化和添加package参考:https://www.jianshu.com/p/13fd9ff0648d RabbitMq安装 [root@topcheer ~]# docker ...

  8. 一、RabbitMQ安装与测试连接

    一.下载NuGet支持的RabbitMQ.Client客户端库与安装RabbitMQ服务. 1.安装客户端库操作服务. 2.安装服务. 步骤一.下载Erlang. 步骤二.下载RabbitMQ服务 采 ...

  9. SpringBoot系列之自定义starter实践教程

    SpringBoot系列之自定义starter实践教程 Springboot是有提供了很多starter的,starter翻译过来可以理解为场景启动器,所谓场景启动器配置了自动配置等等对应业务模块的一 ...

随机推荐

  1. WIN10安装.net报0x800F081F解决方法

    WIN10安装.net2.0和.net3.0报错,错误代码:0x800F081F,解决方法: 方法一:检查服务windows update有无开启,若未开启,开启服务后,再装.net 注:若安装.ne ...

  2. 学习笔记:Python序列化常用工具及性能对比

    什么叫序列化?简单来讲就是将内存中的变量数据转而存储到磁盘上或是通过网络传输到远程. 反序列化是指:把变量数据从序列化的对象重新读到内存里. 下面我们一起来看看,python里面序列化常用的json. ...

  3. C 格式化的输入输出(printf scanf)

    - 左对齐 (默认右对齐) printf("%-9d\n",123); 123 printf("%9d\n",123);          123 printf ...

  4. 9.jsonp的实现原理

    1. 由于浏览器的安全性限制,不允许AJAX访问 协议不同.域名不同.端口号不同的数据接口,浏览器认为这种访问不安全:2. 以通过动态创建script标签的形式,把script标签的src属性,指向数 ...

  5. python-----多线程笔记

    多进程笔记: 多线程介绍: 多线程是为了同步完成多项任务,通过提高资源使用效率来提高系统的效率.线程是在同一时间需要完成多项任务的时候实现的. 最简单的比喻多线程就像火车的每一节车厢,而进程则是火车. ...

  6. depth/stencil buffer的作用 ----------理解模板缓存 opengl

    在D3D11中,有depth/stencil buffer,它们和framebuffer相对应,如下图所示,framebuffer中一个像素,有相对应的depth buffer和stencil buf ...

  7. HRNet网络结构

    最近正在阅读CVPR2019的论文Deep High-Resolution Representation Learning for Human Pose Estimation. 无奈看论文中的Netw ...

  8. 【转】go里面字符串转成 字节slice, 字节slice转成字符串

    原文: https://yourbasic.org/golang/convert-string-to-byte-slice/#convert-string-to-bytes ------------- ...

  9. css选择器学习(二)属性选择器

    属性选择器 /*******************************************css2中的属性选择器*************************************** ...

  10. ajax向后台传递数组参数并将后台响应的数据赋值给一个变量供其它插件使用

    1.在js中封装ajax向后台传递数组参数函数 //combogrid * * @Description 封装ajax向后台传递数组参数并将后台响应的数据赋值给一个变量方便其他插件使用该数据函数 * ...