rabbitmq安装、基本使用
docker run -it --rm --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:3.12-management
docker会自己下载,然后运行
进入docker:
docker exec -it rabbitmq bash
进入容器,重启rabbitmq:rabbitmq-server restart
感觉所有的消息队列都差不多,都是创建,连接,发消息,获得消息
package com.quxiao;import com.rabbitmq.client.Channel; import com.rabbitmq.client.Connection; import com.rabbitmq.client.ConnectionFactory;import java.io.IOException; import java.util.concurrent.TimeoutException;/*** @program: springboot* @author: quxiao* @create: 2023-10-29 09:39**/ public class t1 {public static void main(String[] args) throws Exception {ConnectionFactory factory = new ConnectionFactory();factory.setHost("127.0.0.1");factory.setPort(5672);factory.setUsername("123");factory.setPassword("123");factory.setVirtualHost("/");Connection connection = null;Channel channel = null;try {//连接connection = factory.newConnection("生产者1");//通道channel = connection.createChannel();channel.queueDeclare("duilie1", false, false, false, null);channel.basicPublish("", "duilie1", null, "队列消息".getBytes());} catch (IOException e) {throw new RuntimeException(e);} catch (TimeoutException e) {throw new RuntimeException(e);} finally {channel.close();connection.close();}} }
消费:
package com.quxiao;import com.rabbitmq.client.*;import java.io.IOException; import java.util.concurrent.TimeoutException;/*** @program: springboot* @author: quxiao* @create: 2023-10-29 10:11**/ public class t2 {public static void main(String[] args) throws Exception {ConnectionFactory factory = new ConnectionFactory();factory.setHost("127.0.0.1");factory.setPort(5672);factory.setUsername("123");factory.setPassword("123");factory.setVirtualHost("/");Connection connection = null;Channel channel = null;try {//连接connection = factory.newConnection("生产者1");//通道channel = connection.createChannel(); // channel.queueDeclare("duilie1", false, false, false, null); // channel.basicPublish("", "duilie1", null, "队列消息".getBytes());channel.basicConsume("duilie1", true, new DeliverCallback() {@Overridepublic void handle(String consumerTag, Delivery message) throws IOException {System.out.println(new String(message.getBody(), "UTF-8"));}}, new CancelCallback() {@Overridepublic void handle(String consumerTag) throws IOException {System.out.println("接收消息失败");}});} catch (IOException e) {throw new RuntimeException(e);} catch (TimeoutException e) {throw new RuntimeException(e);} finally {channel.close();connection.close();}} }
路由分组模式:
定义路由key,将队列绑定,发送到路由key,就会发到被绑定的所有队列。
package com.quxiao;import com.rabbitmq.client.Channel; import com.rabbitmq.client.Connection; import com.rabbitmq.client.ConnectionFactory;import java.io.IOException; import java.util.concurrent.TimeoutException;/*** @program: springboot* @author: quxiao* @create: 2023-10-29 09:39**/ public class t1 {public static void main(String[] args) throws Exception {ConnectionFactory factory = new ConnectionFactory();factory.setHost("127");factory.setPort(5672);factory.setUsername("123");factory.setPassword("123");factory.setVirtualHost("/");Connection connection = null;Channel channel = null;try {//连接connection = factory.newConnection("生产者1");//通道channel = connection.createChannel(); // channel.queueDeclare("", false, false, false, null);channel.basicPublish("amq.direct", "type2", null, "队列消息".getBytes()); //21} catch (IOException e) {throw new RuntimeException(e);} catch (TimeoutException e) {throw new RuntimeException(e);} finally {channel.close();connection.close();}} }
相关文章:

rabbitmq安装、基本使用
docker run -it --rm --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:3.12-management docker会自己下载,然后运行 进入docker: docker exec -it rabbitmq bash 进入容器,重启rabbitmq:rabbitmq-server restart 感觉所有的…...

Amaon CloudFront助力出海业务访问优化
企业的展示网站需要面向多个国家的客户时,由于地理位置的原因。往往会出现一个痛点,网络延迟太高,以至于图片、视频播放时会非常卡顿。客户的访问体验非常差,直接影响到企业收益。此篇文章九河云综合分析Amaon CloudFront…...
python实现ModBusRTU服务端
python实现基于串口通信的ModBusRTU服务端是一件简单的事情,只要通过pymodbus模块和Serial模块就可以实现。...
yum安装node,npm
node官网 yum -y install nodejs npm 查看版本 npm -v node -v卸载 yum -y remove nodejs npm修改镜像源 4.1. 修改淘宝镜像源 set registry https://registry.npm.taobao.org npm config get registr4.2. 修改华为云镜像源 npm config set registry https://mirrors.huaweicl…...

ESM蛋白质语言模型系列
模型总览 第一篇《Biological structure and function emerge from scaling unsupervised learning to 250 million protein sequences 》ESM-1b 第二篇《MSA Transformer》在ESM-1b的基础上作出改进,将模型的输入从单一蛋白质序列改为MSA矩阵,并在Tran…...
RHCE-------Day1
存储管理 标准存储管理 1、分区 fdisk /dev/nume0n1 交互式指令 2、格式化 mkfs.xfs /dev/nume0n1p1 直接指定分区类型 mkfs -t xfs /dev/nume0n1p1 3、挂载 mount /dev/nume0n1p1 /mnt 取消挂载: umont …...

Linux(Centos7)防火墙端口操作记录
1、nginx -t #Nginx配置文件检查 上述截图代表检查没问题 上述截图检查配置文件配置错误,并提示错误文件位置 2、systemctl restart nginx #重启Nginx 重启Nginx失败 3、systemctl status nginx.service #查看Nginx服务状态 80端口被占导致服务启动失败 4、n…...

【MySQL数据库】初识MySQL数据库、安装MySQL
文章目录 前言一、什么是 MySQL?二、MySQL 的强大之处三、Ubuntu安装MySQL步骤 1: 更新包列表步骤 2: 安装 MySQL步骤 3: 启动 MySQL 服务步骤 4: 验证 MySQL 安装步骤 5: 确保 MySQL 安全性 总结 前言 在今天的数字化世界中,数据是企业和个人的重要资产…...

Keil Map信息解析
基本功能: 1.在Keil里面,通过App.Map复制所有信息。然后解析剪辑版内容。 2.随意输入一个函数内存地址,即可遍历出该内存地址属于哪个.c或者函数名。或者能遍历出变量。 强化功能: 1.通过Keil5 命令 Save xxxxxxx\1.Hex 0x200173…...

在重生奇迹MU中如何选择最佳的挂机点?
如何寻找最适合自己的挂机地点呢?小编建议玩家朋友从以下几点着手加以抉择。 怪物的等级不能过高 你的最佳挂机点要结合自己的实际情况来定,如果你刷怪比较吃力的话,那么此游戏地图并不适合你挂机,一旦挂机过程中,你…...
IT行业中的热门职业及前景展望
目录 一、IT技术发展背景及历程 二、IT行业热门职业 三、前景展望 一、IT技术发展背景及历程 随着科技的不断发展和创新,IT技术也在不断更新和完善。从计算机的出现到互联网的普及,再到现代云计算、人工智能等技术的兴起,IT技术已经成为了…...
linux练习
linux练习 vim编辑器有哪几种工作模式? 命令模式、末行模式、编辑模式 yum的配置文件在什么目录下?具体有哪些字段? 目录:cat /etc/yum.repos.d/*.repo 字段: [] name baseurl enabled gpgcheck 规划分区的命令是什么…...
【【带有握手信号的无符号数乘法verilog+ testbench 代码】】
带有握手信号的无符号数乘法verilog testbench 代码 uumultiplier.v module uumultiplier #(parameter NUMBER1 8 ,parameter NUMBER2 …...
【Python机器学习】零基础掌握BayesianRidge贝叶斯回归
如何准确预测房价? 在现实生活中,购买房产可能是最大的一笔投资。因此,准确预测房价变得尤为重要。通常,房价受到多个因素的影响,包括地段、房龄、房屋面积等。但如何综合这些因素来做出准确预测呢? 这里介绍一种机器学习算法:贝叶斯岭回归(Bayesian Ridge Regressio…...
【机器学习】朴素贝叶斯算法基本原理与计算案例
朴素贝叶斯算法基本原理与计算案例 文章目录 朴素贝叶斯算法基本原理与计算案例1. 朴素贝叶斯算法的基本原理2. 概率基础3. 朴素贝叶斯简单计算案例4. 朴素贝叶斯算法对文本进行分类5. 拉普拉斯平滑系数6. 案例:20类新闻分类7. 总结 1. 朴素贝叶斯算法的基本原理 朴…...

redis6.0源码分析:简单动态字符串sds
文章目录 sds简介与特性(面试)sds结构模型数据结构苛刻的数据优化数据结构优化uintX_t对齐填充 sds优势O(1)时间复杂度获取字符串长度二进制安全杜绝缓冲区溢出自动扩容机制——sdsMakeRoomFor方法 内存重分配次数优化 sds最长是多少部分API源码解读创建sds释放sds sds简介与特…...

1.7 攻击面和攻击树
思维导图: 1.7 攻击面与攻击树 攻击面: 描述计算机和网络系统面对的安全威胁和攻击。 定义: 攻击面是由系统中可访问和可利用的漏洞所组成。常见攻击面: 向外部Web及其他服务器开放的端口和相应代码。防火墙内部的服务。处理入站数据、电子邮件、XML文件、Office文档…...
解决input在谷歌浏览器自动填充问题
解决input在谷歌浏览器自动填充问题 <input typepassword readonly onfocus"this.removeAttribute(readonly);" />...

Java字节码技术
Java 字节码简介 Java 中的字节码,英文名为 bytecode, 是 Java 代码编译后的中间代码格式。JVM 需要读取并解析字节码才能执行相应的任务。 从技术人员的角度看,Java 字节码是 JVM 的指令集。JVM 加载字节码格式的 class 文件,校验之后通过 J…...

Java SE 学习笔记(十八)—— 注解、动态代理
目录 1 注解1.1 注解概述1.2 自定义注解1.3 元注解1.4 注解解析1.5 注解应用于 junit 框架 2 动态代理2.1 问题引入2.2 动态代理实现 1 注解 1.1 注解概述 Java 注解(Annotation)又称Java标注,是JDK 5.0引入的一种注释机制,Java语…...

(转)什么是DockerCompose?它有什么作用?
一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用,而无需手动一个个创建和运行容器。 Compose文件是一个文本文件,通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...

多种风格导航菜单 HTML 实现(附源码)
下面我将为您展示 6 种不同风格的导航菜单实现,每种都包含完整 HTML、CSS 和 JavaScript 代码。 1. 简约水平导航栏 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport&qu…...
.Net Framework 4/C# 关键字(非常用,持续更新...)
一、is 关键字 is 关键字用于检查对象是否于给定类型兼容,如果兼容将返回 true,如果不兼容则返回 false,在进行类型转换前,可以先使用 is 关键字判断对象是否与指定类型兼容,如果兼容才进行转换,这样的转换是安全的。 例如有:首先创建一个字符串对象,然后将字符串对象隐…...
力扣-35.搜索插入位置
题目描述 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 class Solution {public int searchInsert(int[] nums, …...
JS设计模式(4):观察者模式
JS设计模式(4):观察者模式 一、引入 在开发中,我们经常会遇到这样的场景:一个对象的状态变化需要自动通知其他对象,比如: 电商平台中,商品库存变化时需要通知所有订阅该商品的用户;新闻网站中࿰…...

深入浅出深度学习基础:从感知机到全连接神经网络的核心原理与应用
文章目录 前言一、感知机 (Perceptron)1.1 基础介绍1.1.1 感知机是什么?1.1.2 感知机的工作原理 1.2 感知机的简单应用:基本逻辑门1.2.1 逻辑与 (Logic AND)1.2.2 逻辑或 (Logic OR)1.2.3 逻辑与非 (Logic NAND) 1.3 感知机的实现1.3.1 简单实现 (基于阈…...
深入理解Optional:处理空指针异常
1. 使用Optional处理可能为空的集合 在Java开发中,集合判空是一个常见但容易出错的场景。传统方式虽然可行,但存在一些潜在问题: // 传统判空方式 if (!CollectionUtils.isEmpty(userInfoList)) {for (UserInfo userInfo : userInfoList) {…...
k8s从入门到放弃之Pod的容器探针检测
k8s从入门到放弃之Pod的容器探针检测 在Kubernetes(简称K8s)中,容器探测是指kubelet对容器执行定期诊断的过程,以确保容器中的应用程序处于预期的状态。这些探测是保障应用健康和高可用性的重要机制。Kubernetes提供了两种种类型…...
java+webstock
maven依赖 <dependency><groupId>org.java-websocket</groupId><artifactId>Java-WebSocket</artifactId><version>1.3.5</version></dependency><dependency><groupId>org.apache.tomcat.websocket</groupId&…...
Android多媒体——音/视频数据播放(十八)
在媒体数据完成解码并准备好之后,播放流程便进入了最终的呈现阶段。为了确保音视频内容能够顺利输出,系统需要首先对相应的播放设备进行初始化。只有在设备初始化成功后,才能真正开始音视频的同步渲染与播放。这一过程不仅影响播放的启动速度,也直接关系到播放的稳定性和用…...