43.MQ—RabbitMQ

目录

一、MQ—RabbitMQ。

(1)同步调用与异步调用。

(1.1)同步调用。

(1.2)异步调用。

(2)MQ之间的区别。

(3)RabbitMQ学习。

(3.1)docker下载rabbitmq容器,并启动。

(3.2)RabbitMQ中的几个概念。

(3.3)常见消息模型。

(3.4)常见消息模型学习。

(3.4.1)基础消息队列(代码实现)。

(3.4.2)基础消息队列(RabbitTemplate模板实现)。

(3.4.3)work Queue工作队列。

(3.4.4)发布订阅-Fanout Exchange。

(3.4.5)发布订阅-DirectExchange。

(3.4.6)发布订阅-TopicExchange。

(3.5)消息转换器。


一、MQ—RabbitMQ。

(1)同步调用与异步调用。

(1.1)同步调用。

(1.2)异步调用。

(2)MQ之间的区别。

(3)RabbitMQ学习。

(3.1)docker下载rabbitmq容器,并启动。

下载容器: 

docker pull rabbitmq:3-management

启动容器:

docker run \-e RABBITMQ_DEFAULT_USER=itcast \-e RABBITMQ_DEFAULT_PASS=123321 \--name mq \--hostname mq1 \-p 15672:15672 \-p 5672:5672 \-d \rabbitmq:3-management

浏览器访问:

(3.2)RabbitMQ中的几个概念。

(3.3)常见消息模型。

(3.4)常见消息模型学习。

提示:AMQP是协议,SpringAMQP是基于AMQP实现的一套API。 

(3.4.1)基础消息队列(代码实现)。

消息发送:

public class PublisherTest {@Testpublic void testSendMessage() throws IOException, TimeoutException {// 1.建立连接ConnectionFactory factory = new ConnectionFactory();// 1.1.设置连接参数,分别是:主机名、端口号、vhost、用户名、密码factory.setHost("192.168.150.101");factory.setPort(5672);factory.setVirtualHost("/");factory.setUsername("itcast");factory.setPassword("123321");// 1.2.建立连接Connection connection = factory.newConnection();// 2.创建通道ChannelChannel channel = connection.createChannel();// 3.创建队列String queueName = "simple.queue";channel.queueDeclare(queueName, false, false, false, null);// 4.发送消息String message = "hello, rabbitmq!";channel.basicPublish("", queueName, null, message.getBytes());System.out.println("发送消息成功:【" + message + "】");// 5.关闭通道和连接channel.close();connection.close();}
}

消息接收:

public class ConsumerTest {public static void main(String[] args) throws IOException, TimeoutException {// 1.建立连接ConnectionFactory factory = new ConnectionFactory();// 1.1.设置连接参数,分别是:主机名、端口号、vhost、用户名、密码factory.setHost("192.168.150.101");factory.setPort(5672);factory.setVirtualHost("/");factory.setUsername("itcast");factory.setPassword("123321");// 1.2.建立连接Connection connection = factory.newConnection();// 2.创建通道ChannelChannel channel = connection.createChannel()// 3.创建队列String queueName = "simple.queue";channel.queueDeclare(queueName, false, false, false, null);// 4.订阅消息channel.basicConsume(queueName, true, new DefaultConsumer(channel){@Overridepublic void handleDelivery(String consumerTag, Envelope envelope,AMQP.BasicProperties properties, byte[] body) throws IOException {// 5.处理消息String message = new String(body);System.out.println("接收到消息:【" + message + "】");}});System.out.println("等待接收消息。。。。");}
}

(3.4.2)基础消息队列(RabbitTemplate模板实现)。

(3.4.3)work Queue工作队列。

与simple的区别:多了一个设置消费预存限制。

(3.4.4)发布订阅-Fanout Exchange。

提示:绑定键使用空字符串,就可以完成广播(发给所有绑定该交换机的队列)。 

(3.4.5)发布订阅-DirectExchange。

提示:需要提供绑定键(路由键),根据  交换机+绑定键  映射。 

(3.4.6)发布订阅-TopicExchange。

(3.5)消息转换器。

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

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

相关文章

一文读懂:苹果手机怎么录屏?

“刚买的苹果14,最近需要用来录屏,找了很久都没找到,朋友说苹果手机没有录屏功能,可是我半信半疑,花了这么多钱买的,怎么可能没有录屏功能呢,有人知道苹果手机怎么录屏吗?” 苹果手…

骨传导耳机对大脑有影响吗?骨传导耳机到底好不好

先上结论,骨传导耳机对大脑没有影响。骨传导耳机使用的是骨传导技术,声音是通过头骨骨头和颌骨给内耳传递的,而不是通过传统的空气传播,它将声音传输到颅骨,然后透过骨头振动直接刺激内耳,绕过外耳和中耳。…

C#,《小白学程序》第十五课:随机数(Random)第二,统计学初步,数据统计的计算方法与代码

1 文本格式 /// <summary> /// 《小白学程序》第十五课&#xff1a;随机数&#xff08;Random&#xff09;第二&#xff0c;统计学初步&#xff0c;数据统计的计算方法与代码 /// 用随机数做简单的统计并用图形显示统计结果。 /// </summary> /// <param name&q…

数电课程设计——课设一:加减计数器

为了帮助大家更好学习FPGA硬件语言&#xff0c;创立此资源 包含文件有&#xff1a;实验报告、仿真文件&#xff0c;资料很全&#xff0c;有问题可以私信 一、实验内容 1、利用QuartusII和Modelsim实现100进制可逆计数器编码显示实验。 二、实验步骤 &#xff08;1&#xff…

CentOS 7 openssl 3.0.10 rpm包制作 —— 筑梦之路

源码下载地址&#xff1a; https://www.openssl.org/source/openssl-3.0.10.tar.gz 编写spec文件&#xff1a; cat << EOF > openssl.specSummary: OpenSSL 3.0.10 for CentosName: opensslVersion: %{?version}%{!?version:3.0.10}Release: 1%{?dist}Obsoletes…

企业可以自己建立大数据平台吗?有哪些好处?

随着企业的快速发展&#xff0c;企业累积了越来越多的数据&#xff0c;但管理巨量的大数据是一件非常难的事情&#xff0c;且很多数据没有充分发挥作用。因此不少企业在问&#xff0c;企业可以自己建立大数据平台吗&#xff1f;有哪些好处&#xff1f; 企业可以自己建立大数据…

vue 验证码 图片点击

实现登陆验证 图片依次点击功能 demo &#xff0c;上图可以根据demo修改&#xff0c;直接拿用 <template><div><div class"big-box" id"BigBox" :style"background-image:url( imgCodeUrl )"><div class"click-box…

最新IDE流行度最新排名(每月更新)

2023年09月IDE流行度最新排名 顶级IDE排名是通过分析在谷歌上搜索IDE下载页面的频率而创建的 一个IDE被搜索的次数越多&#xff0c;这个IDE就被认为越受欢迎。原始数据来自谷歌Trends 如果您相信集体智慧&#xff0c;Top IDE索引可以帮助您决定在软件开发项目中使用哪个IDE …

python开发之个微机器人的二次开发

简要描述&#xff1a; 取消消息接收 请求URL&#xff1a; http://域名地址/cancelHttpCallbackUrl 请求方式&#xff1a; POST 请求头Headers&#xff1a; Content-Type&#xff1a;application/json 参数&#xff1a; 参数名类型说明codestring1000成功&#xff0c;1…

水循环原理VR实景教学课件开发

日本核污水排海让人们越来越重视海洋大气层水循环的安全&#xff0c;水循环是一个周而复始、循环往复的动态过程&#xff0c;为了将水循环过程以形象、生动地形式展示出来&#xff0c;水循环VR全景动态演示逐渐受到大家青睐。 传统的水循环教育方式通常是通过图片、动画或实地考…

MySql安装包配置

电脑重配过多次&#xff0c;此为mysql安装记录贴&#xff0c;方便查阅 从官网下载的安装包进行本地配置 下载地址 解压下载下来的zip压缩包 解压出来的文件中新增配置my.ini文件 [mysqld] # 设置3306端口 port3306 # 设置mysql的安装目录 basedirD:\\software\\package\\M…

Adobe Acrobat Reader界面改版 - 解决方案

问题 日期&#xff1a;2023年9月 Adobe Acrobat Reader下文简称Adobe PDF Reader&#xff0c;此软件会自动进行更新&#xff0c;当版本更新至2023.003.20284版本后。 软件UI界面会大改版&#xff1a;书签页变成了右边、工具栏变到了左边、缩放按钮变到了右下角&#xff0c;如…

通过curl命令分析http接口请求各阶段的耗时等

目录 一、介绍二、功能1、-v 输出请求 响应头状态码 响应文本等信息2、-x 测试代理ip是否能在该网站使用3、-w 额外输出查看接口请求响应的消耗时间4、-o 将响应结果存储到文件里面5、-X post请求测试 (没测成功用的不多) 一、介绍 Curl是一个用于发送和接收请求的命令行工具和…

【LeetCode-简单题】977. 有序数组的平方

文章目录 题目方法一&#xff1a;双指针方法二&#xff1a; 题目 方法一&#xff1a;双指针 class Solution { // 方法一 &#xff1a;双指针public int[] sortedSquares(int[] nums) {int left 0;int right nums.length -1 ;int[] res new int[nums.length];//结果集新数组…

中金支付-对账文件接受base64后保存文件

前后接口不太清楚。 通过别人的对接沟通过程中看到这个问题&#xff0c;简单尝试成功后做个记录。 接口返回内容为Base64&#xff0c;那么先进行解码base64_decode。 解码后内容截图如下&#xff1a; 大概能看出来里面含有csv文件&#xff0c;且接口中说明&#xff1a;对账文件…

企业网络革命:连接和访问的智慧选项

近年来&#xff0c;企业网络通信需求可谓五花八门&#xff0c;变幻莫测。它不仅为企业的生产、办公、研发、销售提供全面赋能&#xff0c;同时也让企业业务规模变大成为了可能。今天&#xff0c;我们来聊聊广域网中两个不可忽视的概念&#xff1a;连接&#xff08;Connection&a…

统一潮流控制器 (UPFC) 的应用,以增强电力系统中的电压稳定性(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

自动打包机如何精准捆扎

打包机按照自动化程度大致可以分为半自动、自动和全自动三种&#xff0c;全自动大家都很熟悉&#xff0c;可以自动检测、自动输送、自动捆扎&#xff0c;而且捆扎位置先对比较精准&#xff0c;但半自动和自动打包机没有配置光电检测&#xff0c;因此捆扎位置总是不够固定&#…

2023年车载超声波雷达行业研究报告

第一章 行业概况 车载超声波雷达&#xff0c;通常在英文中被称为“Automotive Ultrasonic Radar”或“Automotive Ultrasonic Sensor”&#xff0c;是一种使用超声波来检测车辆周围物体的距离的传感器。这个行业主要关注的是为汽车提供停车辅助、防撞和其他安全功能。 图 超声…

前端请求接口地址反向代理后 状态码404、反向代理注意事项

目录 1. 反向代理代码&#xff08;有问题&#xff09;问题 2. 问题排查原因【排查步骤】【问题1】产生原因【问题2】产生原因【附&#xff1a;排查代码】 3. 总结 - 解决代码4. 总结 - 反向代理 1. 反向代理代码&#xff08;有问题&#xff09; 接口封装 export function Get…