doker安装RabbitMQ以及用java连接

目录

doker安装:

 RabitMq安装:

 java链接


doker安装:

参考链接(非常详细):

docker安装以及部署_docker bu shuminio_春风与麋鹿的博客-CSDN博客

安装好后开启doker

//启动docker服务
systemctl start docker
//停止docker服务
systemctl stop docker
//重启docker服务
systemctl restart docker
//查看docker服务状态
systemctl status docker

 RabitMq安装:

1. 拉取do'ke中的rabbitmq镜像

docker pull rabbitmq:3.7.16-management

2.启动

docker run -d --hostname my-rabbit  -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin -p 5672:5672 -p 15672:15672  rabbitmq:3.7.16-management参数解释:
RABBITMQ_DEFAULT_USER=admin(账号为admin)可以自己随意改
RABBITMQ_DEFAULT_PASS=admin(登录密码为admin)可以自己随意改
-p 5672:5672 :rabbitmq的默认端口,映射到虚拟机5672端口,程序中,访问用
-p 15672:15672:rabbitmq的浏览器访问登录界面端口,映射到虚拟机15672端口,浏览器访问端口

3.浏览器访问

输入虚拟机ip和端口号进行访问

 java链接

链接之前在防火墙中开发5672端口,否则会连接超时

#关闭防火墙
systemctl stop firewalld
#查看开启了哪些端口号
firewall-cmd --list-ports
#添加端口号
sudo firewall-cmd --permanent --zone=public --add-port=5672/tcp
#操作防火墙后要重启防火墙
firewall-cmd --reload

生产者:

public class Send {//Ctrl+Shift+U大写转换public static final String QUEUE_NAME = "hello";//发消息public static void main(String[] args) throws IOException, TimeoutException {//创建一个工厂ConnectionFactory factory = new ConnectionFactory();//工厂IP连接RabbitMQ的队列factory.setHost("192.168.29.129");//port可不设置,默认5672
//        factory.setPort(5672);//用户名factory.setUsername("admin");//密码factory.setPassword("admin");//创建连接Connection connection = factory.newConnection();//获取信道Channel channel = connection.createChannel();/*** 生成一个队列* 1.队列名称* 2.队列里面的消息是否持久化(磁盘)默认情况消息存储在内存中* 3.该队列是否只供一个消费者进行消费是否进行消息共享,false可以多个消费者消费 true:只能一个消费者消费* 4.是否自动删除最后一个消费者端开连接以后该队一句是否自动删除 true自动删除 false不自动删除* 5.其它参数*/channel.queueDeclare(QUEUE_NAME,false,false,false,null);//发消息String message = "Hello World!";//初次使用/*** 发送一个消费* 1.发送到哪个交换机* 2.路由的Key值是哪个本次是队列的名称* 3.其它参数信息* 4.发送消息的消息体*/channel.basicPublish("",QUEUE_NAME,null,message.getBytes());System.out.println("消息发送完毕");}
}

启动:

 页面显示消息已发送成功

 消费者:

public class Recive {public static final String QUEEN_NAME = "hello";//接收消息public static void main(String[] args) throws Exception {//创建连接工厂ConnectionFactory factory = new ConnectionFactory();factory.setHost("192.168.29.129");//port可不设置,默认5672factory.setPort(5672);//用户名factory.setUsername("admin");//密码factory.setPassword("admin");Connection connection = factory.newConnection();//用连接创建信道Channel channel = connection.createChannel();/*** 消费者消费消息*1.消费哪个队列* 2.消费成功之后是否要自动应答 true 代表的自动应答 false 代表手动应答* 3.消费者未成功消费的回调* 4.消费者取消消费的回调*///声明: 接收消息DeliverCallback deliverCallback = (consumerTag,message) ->{System.out.println(message);System.out.println(new String(message.getBody()));};//取消消息时的回调CancelCallback cancelCallback = consumerTag ->{System.out.println("消费消息被中断");};channel.basicConsume(QUEEN_NAME,true,deliverCallback,cancelCallback);}
}

启动:消息接收成

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/1945.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

华为HUAWEI MateBook D 2018 黑苹果Monterey 12.6.5的安装过程

HUAWEI MateBook D 2018 黑苹果系统的安装 HUAWEI MateBook D 2018版,配置列表如下:安装Monterey 12.6.5流程1. 打开balenaEtcher,选择好系统镜像和U盘,将镜像刻录到U盘中,点击Flash等待刻录完成;2. 使用DiskGenius将下…

【吃透网络安全】2023软考网络管理员考点网络安全(四)防火墙详解

涉及知识点 什么是防火墙?防火墙的概念及定义,防火墙的优缺点,软考网络管理员常考知识点,软考网络管理员网络安全,网络管理员考点汇总。 后面还有更多续篇希望大家能给个赞哈,这边提供个快捷入口&#xf…

【RF-SSA-LSTM】随机森林-麻雀优化算法优化时间序列预测研究(Python代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

【计算机网络】IP 地址处理函数

目录 1.struct sockaddr_in的结构 2.一般我们写的结构 3.常见的“点分十进制” 到 ” uint32_t 的转化接口 3.1. inet_aton 和 inet_ntoa (ipv4) 3.2. inet_pton 和 inet_ntop (ipv4 和 ipv6) 3.3. inet_addr 和 inet_network 3…

ECC加密算法详解+python实现

一.前言 目前比较受欢迎的加密算法一共存在两种,一种是基于大整数因子分解问题(IFP)的RSA算法和基于椭圆曲线上离散对数计算问题(ECDLP)的ECC算法。之前对RSA算法进行过很详细的讲解,但是ECC加密算法还没有…

简单指令实现Docker构建镜像启动运行保存导出后再导入新环境完整全流程

项目场景及问题描述 本文做一个简单Docker使用指令指南,可快速实现Docker构建镜像、启动、运行、保存、导出后再导入新环境完整全流程。具体每一个指令又有很多参数和学问,大家可自行查询更详细的解释,本文可用于小白快速构建镜像并使用。 使…

关于Nuxt3.6兼容低版本游览器的实战以及可能存在的问题

当我们网站打包上线后,有些问题我们肯定也要考虑在内,兼容性也是其中一个重要的一种,可能会有人说,都2023年了,还在乎那些废弃的游览器干啥,我只能说,错!大错特错! 我们不…

【AIGC】Chatglm2-lora微调

ChatGLM2介绍 ChatGLM2-6B源码地址:https://github.com/THUDM/ChatGLM2-6B ChatGLM2-6B 是开源中英双语对话模型 ChatGLM-6B 的第二代版本,在保留了初代模型对话流畅、部署门槛较低等众多优秀特性的基础之上,ChatGLM2-6B 引入了如下新特性&…

文本分析-使用jieba库实现TF-IDF算法提取关键词

🤵‍♂️ 个人主页:艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞&#x1f4…

accountId、uid、roleId 游戏中的3种id

1)accountId: // 是一个字符串 这个是字符串,玩家可以输入名字(比如:输入zfoo) 或者 通过微信生成(openid是不变的)。 2)uid:// long 这个是一个很长的,玩家通过http登录授权后,通过web层,由雪花算法根据accountId生成…

Spring Bean的生命周期解读

目录 1. Spring IOC容器 1.1 Spring IOC 容器的设计 1.1.1 BeanFactory 1.1.2 ApplicationContext 1.2 Spring Bean的生命周期 1.2.1 BeanDefinition 1.2.2 InstantiationAwareBeanPostProcessor和BeanPostProcessor 1.2.3 测试生命周期 1. Spring IOC容器 1.1 Spring …

计算机网络那些事之 MTU 篇 pt.2

哈喽大家好,我是咸鱼 在《计算机网络那些事之 MTU 篇 》中,咸鱼跟大家介绍了 MTU 是指数据链路层能够传输的最大数据帧的大小 如果发送的数据大于 MTU,则就会进行分片操作(Fragment);如果小于 MTU&#x…