05-RabbitMQ控制台入门及其Java简单操作

【RabbitMQ】RabbitMQ控制台的使用 如果在本机上装了RabbitMQ则在浏览器访问127.0.0.1:15672,如果在服务器装了RabbitMQ则通过在浏览器输入urlip:15762来访问登录后进入主页。 阅读详情

MQ控制台简单操作

建立Exchange

新建Exchange成功

新建Queue

新建Queue成功

建立Exchange与Queue的关系

建立关系成功

路由键: 就是指发送到Exchange的消息, 通过路由键的匹配规则, 分发到指定的Queue

样例: test.*

说明: 代表该消息的发送时的路由Key必须是以test.开头, 才会被分发到queue-test这个队列

*: 代表任意

发送消息

发送成功

获取消息

获取消息成功, 获取不代表消费~

Java简单操作MQ

添加依赖

<!-- https://mvnrepository.com/artifact/com.rabbitmq/amqp-client -->
<dependency>
    <groupId>com.rabbitmq</groupId>
    <artifactId>amqp-client</artifactId>
    <version>5.15.0</version>
</dependency>

生产者

package com.dance.redis.mq.rabbit;

import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.ConnectionFactory;
import com.rabbitmq.client.MessageProperties;
 
import java.io.IOException;
import java.util.concurrent.TimeoutException;
 
public class RabbitProducer {
    private static final String EXCHANGE_NAME = "exchange-test";
    private static final String ROUTING_KEY = "text.*";
    private static final String QUEUE_NAME = "queue-test";
    private static final String IP_ADDRESS = "192.168.247.142";
    private static final int PORT = 5672; //RabbitMQ服务默认端口为5672
 
    public static void main(String[] args) throws IOException,
            TimeoutException, InterruptedException {
        ConnectionFactory factory = new ConnectionFactory();
        factory.setHost(IP_ADDRESS);
        factory.setPort(PORT);
        factory.setUsername("root");
        factory.setPassword("123456");
        Connection connection = factory.newConnection();//创建连接
        Channel channel = connection.createChannel();//创建信道
        //创建一个type="topic"、持久化的、非自动删除的交换器。
        channel.exchangeDeclare(EXCHANGE_NAME, "topic", true, false, null);
        //创建一个持久化、非排他的、非自动删除的队列
        channel.queueDeclare(QUEUE_NAME, true, false, false, null);
        //将交换机与队列通过路由键绑定
        channel.queueBind(QUEUE_NAME, EXCHANGE_NAME, ROUTING_KEY);
        //发送一条持久化消息:Hello World!
        String message = "Hello World!";
        channel.basicPublish(EXCHANGE_NAME, ROUTING_KEY,
                MessageProperties.PERSISTENT_TEXT_PLAIN,
                message.getBytes());
        //关闭资源
        channel.close();
        connection.close();
    }
    
}

消费者

package com.dance.redis.mq.rabbit;

import com.rabbitmq.client.*;

import java.io.IOException;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;

public class Receiver {
    private static final String QUEUE_NAME = "queue-test";
    private static final String IP_ADDRESS = "192.168.247.142";
    private static final int PORT = 5672;

    public static void main(String[] args) throws IOException, TimeoutException,
            InterruptedException {
        Address[] address = new Address[]{
                new Address(IP_ADDRESS, PORT)
        };

        ConnectionFactory factory = new ConnectionFactory();
        factory.setUsername("root");
        factory.setPassword("123456");
        // 这里的连接方式与生产者的demo略有不同,注意区别。
        Connection connection = factory.newConnection(address); //创建连接
        final Channel channel = connection.createChannel();//创建信道
        channel.basicQos(64);//设置客户端最多接收未被ack的消息个数
        Consumer consumer = new DefaultConsumer(channel) {
            @Override
            public void handleDelivery(String consumerTag,
                                       Envelope envelope,
                                       AMQP.BasicProperties properties,
                                       byte[] body)
                    throws IOException {
                System.out.println("recvive message:" + new String(body));
                try {
                    TimeUnit.SECONDS.sleep(1);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
                channel.basicAck(envelope.getDeliveryTag(), false);
            }
        };
        channel.basicConsume(QUEUE_NAME, consumer);
        //等待回调函数执行完毕之后,关闭资源。
        TimeUnit.SECONDS.sleep(5);
        channel.close();
        connection.close();
    }
}
04 RabbitMQ:控制界面详解 阅读详情

相关推荐

RabbitMQ基础---根据b站视频记笔记

本文摘要: 文章主要记录了作者学习RabbitMQ的过程,为求职面试做准备。内容涵盖MQ基础概念(同步/异步调用、四种交换机类型)、RabbitMQ安装部署、Java客户端操作(Spring AMQP)、消息转换器配置以及实际业务改造案例。重点讲解了WorkQueues任务模型、Fanout/Direct/Topic交换机区别,并通过黑马商场项目演示了支付成功消息的异步通知实现。学习过程中结合B站课程和飞书文档,采用代码实践+控制台操作的方式巩固知识,最终将MQ整合到SpringCloud微服务项目中。

qdm778890的博客 2060

RabbitMQ的管控台的使用说明

1、RabbitMQ的管控台确实是一个好东西,但是如果是新手,比如刚接触RabbitMQ的时候,看到RabbitMQ的管控台也是一脸懵逼的说,慢慢接触多了,才了解一些使用。   1)、RabbitMQ的管控台中概览的Totals。如果有消息进行消费的话,如果我们创建队列的话,这里面显示消费进度和情况,实施进行显示,可以看到一个折线图的表现形式。     RabbitMQ的管控台中概览...

HiterCoder 1269

倍福Twincat 3.0软件与C++通讯问题(ADS通讯)

倍福Twincat 3.0软件与C++通讯问题 倍福公司所开发的Twincat 3.0软件是基于Visual studio开发环境的一款自动化软件,目前其与C++程序通讯的方式主要还是靠ADS-DLL接口进行数据和信息传递,作者在Visual C++上进行混合编程开发,通过TwinCAT路由器和C语言API函数实现混合编程。 倍福软件提供: TcAdsDll.dll—动态链接库; TcAdsDll...

weixin_42811651的博客 1万+

RabbitMQ可视化页面使用(中文翻译)

RabbitMQ界面详解

普通人一枚 2770

五.卡尔曼滤波器(EKF)开发实践之五: 编写自己的EKF替换robot_pose_ekf中EKF滤波器

本系列文章主要介绍如何在工程实践中使用卡尔曼滤波器,分五个小节介绍: 一.卡尔曼滤波器开发实践之一: 五大公式 二.卡尔曼滤波器开发实践之二: 一个简单的位置估计卡尔曼滤波器 三.卡尔曼滤波器(EKF)开发实践之三: 基于三个传感器的海拔高度数据融合 四.卡尔曼滤波器(EKF)开发实践之四: ROS系统位姿估计包robot_pose_ekf详解 五.卡尔曼滤波器(EKF)开发实践之五: 编写自己的EKF替换robot_pose_ekf中EKF滤波器 也就是本文 ...

okgwf的博客 4138

ICG cell如何通过Latch结构消除与门clock gating中的glitch?

本文深入解析了ICG Cell如何利用Latch结构解决传统与门时钟门控中的毛刺问题。通过将电平敏感锁存器与门控与门结合,ICG Cell将使能信号的变化严格限制在时钟低电平的安全窗口内采样和锁存,从而在时钟有效沿期间提供稳定的控制信号,从根本上消除了因信号延迟不同步而产生的glitch,确保了门控时钟的纯净与电路功能的可靠性。

weixin_29234423的博客 469

RabbitMQ 详细讲解

一、AMQP 1. 前言 AMQP和JMS一样,也是一个消息规范。你可能会想,已经有了JMS(Java Message Service) 。为什么还需要一个AMQP。当然是因为AMQP具备了更多优势了。 AMQP 支持跨语言跨平台。AMQP为消息定义了线路层的协议,而JMS所定义的API的规范。这就表示,JMS的API协议能够保证所有的实现都通过通用的API来使用,但是不能保证某个JMS所发送的...

猫吻鱼的博客 4597

BeikeShop跨境电商独立站系统V1.5.0免授权全开源版

BeikeShop 一款开源好用的跨境电商系统,BeikeShop 是基于 Laravel 开发的一款开源商城系统,主要面向外贸/跨境电商行业提供商品管理、订单管理、会员管理、支付、物流、系统管理等功能。BeikeShop商城 Beike多语言商城 多货币商城B2C商城系统 代码100%开源 PHP商城系统 H5/PC商城 跨境电商系统 跨境商城系统 电商商城系统 Laravel 9 框架插件化开发,MVC架构 支持插件市场。Event 机制实现Hook功能,自定义可视化装修。

820

RabbitMQ入门到高级

描述下Direct交换机与Fanout交换机的差异?Fanout交换机将消息路由给每一个与之绑定的队列Direct交换机根据RoutingKey判断路由给哪个队列如果多个队列具有相同的RoutingKey,则与Fanout功能类似描述下Direct交换机与Topic交换机的差异?Topic交换机接收的消息RoutingKey必须是多个单词,以 .分割Topic交换机与队列绑定时的bindingKey可以指定通配符:代表0个或多个词:代表1个词。

qq_62892403的博客 1514

V93000 SmarTest 8入门:从零搭建你的第一个半导体测试程序

半导体测试是芯片从设计走向量产的关键环节,而ATE(自动化测试设备)正是支撑这一环节的核心工具。理解ATE测试程序开发的基本原理,不仅需要掌握测试机台的硬件架构,还要熟悉其软件环境中的管脚映射、电平时序、测试流程等底层逻辑。V93000作为爱德万的主力平台,其SmarTest 8环境通过对象化与流程化设计,将复杂的芯片测试任务拆解为可配置、可复用的模块,极大提升了并行测试效率与调试的便利性。无论是数字逻辑芯片的功能验证,还是模拟混合信号器件的参数测量,掌握SmarTest 8的核心操作都能帮助你快速搭建出可

weixin_31476015的博客 244

把 ABAP 接到外部世界的几条路, 从 Web Service 到 RFC、BAPI 与 IDoc 的完整理解

摘要: ABAP 的连接能力是其长期成为企业核心的关键,不仅支持通用协议(HTTP、SOAP、XML),还保留了 SAP 特有的技术(RFC、BAPI、IDoc)。Web Service 是跨系统通信的主轴,依赖 SOAP/WSDL 实现契约化协作,而 Enterprise Service 更强调业务语义的复用与治理。经典技术如 RFC 和 BAPI 因高效稳定仍广泛使用,尤其适合紧耦合场景。ABAP 通过分层工具箱(如代理生成、服务注册)实现灵活集成,平衡新旧技术,满足多样化的企业连接需求。 (字数:15

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 139

RabbitMQ入门基础篇

多个消费者绑定到一个队列,同一条消息只会被一个消费者处理通过设置prefetch来控制消费者预取的消息数量接收publisher发送的消息将消息按照规则路由到与之绑定的队列不能缓存消息,路由失败,消息丢失FanoutExchange的会将消息路由到每个绑定的队列Topic交换机接收的消息RoutingKey必须是多个单词,以 . 分割Topic交换机与队列绑定时的bindingKey可以指定通配符#:代表0个或多个词*:代表1个词。

人生需要动态规划 学习需要贪心算法 1023

从养殖场到科技前沿:YOLOv11+OpenCV精准计数鸡蛋与鸡

YOLOv11结合OpenCV技术,精准识别和计数鸡蛋与鸡,广泛应用于养殖场、市场监控和自动化包装。通过深度学习与计算机视觉,提升农业生产效率,让智能化管理更简单高效。

专注于深入研究多种编程语言,以实战为导向,逐步拓展开发技能,提升工程化编码和思维能力,展现无敌技术实力。 1207

RabbitMQ-Java-05-死信队列

说明 RabbitMQ-Java-05-死信队列 本案例是一个Maven项目 假设你已经实现了上一节发布订阅模式 官方文档已包含绝大多数本案例内容。请移步:https://docs.spring.io/spring-amqp/docs/current/reference/html/ 核心概念 》死信来源 消息TTL过期 队列满了 消息被拒绝 》死信实现过程概览 定义消费者01 声明两个交换机:正常交换机、死信交换机 声明两个队列:正常队列、死信队列 正常队列声明的时候传入第五个参数argume

csdn_yasin的博客 3756

重回童年的经典系列☀️| 【坦克大战3D版】游戏制作+解析

带你重回童年的经典系列——坦克大战3D版制作,感兴趣的可以看看呀~

努力前行,总会成为自己心中的那道光 5万+

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

一文搞懂RabbitMQ

首先创建queue,再创建exchange交换机,再建立交换机和队列之间的绑定管理。交换机只负责路由消息,不负责存储。

qq_52464274的博客 2525

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

RabbitMQ 入门

MQ( Message queue ),从字面意思上看,本质是个队列,FIFO 先进先出,只不过队列中存放的内容是消息(message),消息可以非常简单,比如只包含文本字符串,JSON 等,也可以很复杂,比如内嵌对象,MQ 多用于分布式系统之间进行通信;:在业务流程中,一些操作可能非常耗时,但并不需要即时返回结果。借助MQ可以将这些操作异步化。:在访问量剧增的情况下,应用仍然需要继续发挥作用,但这样的突发流量并不常见。如果以能处理这类峰值为标准而投入资源,无疑是巨大的浪费。

2201_75456895的博客 1615

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

RabbitMQ的入门篇-RabbitMQ-HelloWorld

本文是RabbitMQ的入门篇 安装篇:https://blog.youkuaiyun.com/qq_58267473/article/details/124600014 RabbitMQ 的概念 RabbitMQ 是一个消息中间件:它接受并转发消息。你可以把它当做公司,客户把需求提给公司,项目经理项目经理会向下分配工作,按照这种逻辑 RabbitMQ 是一个公司,一个项目经理分配工作。RabbitMQ 与公司的主要区别在于,它不处理需求而是接收, 存储和转发消息数据 四 大核心概念 生产者 产生数据发送消息的程序.

qq_58267473的博客 579

RabbitMQ入门案例 - Simple 简单模式(四)

01、实现步骤 1:jdk1.8 2:构建一个maven工程 3:导入rabbitmq的maven依赖 4:启动rabbitmq-server服务 5:定义生产者 6:定义消费者 7:观察消息的在rabbitmq-server服务中的过程 02、构建一个maven工程 03、导入rabbitmq的maven依赖 03-1:Java原生依赖 <dependency> <groupId>com.rabbitmq</groupId> <artifa

weixin_41979002的博客 651

RabbitMQ基础入门

接下来,我们就学习它的基本概念和基础用法。多个消费者绑定到一个队列,同一条消息只会被一个消费者处理通过设置prefetch来控制消费者预取的消息数量交换机的作用是什么?接收publisher发送的消息将消息按照规则路由到与之绑定的队列不能缓存消息,路由失败,消息丢失FanoutExchange的会将消息路由到每个绑定的队列描述下Direct交换机与Fanout交换机的差异?Fanout交换机将消息路由给每一个与之绑定的队列。

weixin_32404293的博客 106

05-微服务-RabbitMQ-概述

基本消息队列的消息发送流程:建立connection创建channel利用channel声明队列利用channel向队列发送消息基本消息队列的消息接收流程:建立connection创建channel利用channel声明队列定义consumer的消费行为handleDelivery()利用channel将消费者与队列绑定学习笔记,整理自黑马程序员教程。

SpitBubble的博客 1662

java 使用rabbitmq_用JAVA操作RabbitMQ

public class Sender {private final static String QUEUE_NAME = "hello";public static void main(String[] args) throws IOException {ConnectionFactory factory = new ConnectionFactory();factory.setHost("lo...

weixin_35112917的博客 291

RabbitMQ 入门篇

接上一篇《安装好RabbitMQ后,我们将开始RabbitMQ的使用,根据官网文档,我们一步一步的学习。

清山博客 1721

java连接rabbitmq_RabbitMQ 的这些骚操作你知道吗?

RabbitMQ的Java客户端统一使用com.rabbitmq.client作为顶级包名。其中,最核心的类主要有:ConnectionFactory、Connection、Channel、Consumer、DefaultConsumer、BasicProperties。需要说明的是,本文不只是教你RabbitMQ客户端的基本玩法,还有一些你可能不知道的一些骚操作。连接RabbitMQ使用Rabb...

weixin_39952031的博客 290

SpringBoot-RabbitMQ01-入门介绍

队列就像存放了商品的仓库或者商店,是生产商品的工厂和购买商品的用户之间的中转站2020年在匆匆忙忙慌慌乱乱中就这么度过了,我们迎来了新一年,互联网的发展如此之快,技术日新月异,更新迭代成为了这个时代的代名词,坚持下来的技术体系会越来越健壮,JVM作为如今是跳槽大厂必备的技能,如果你还没掌握,更别提之后更新的新技术了。更多JVM面试整理:《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

2301_79835671的博客 267
上一篇: 04-基于CentOS7安装RabbitMQ3.10.7
下一篇: 06-RabbitMQ核心API-Exchange
十六夜之彼岸舞
博客等级 码龄7年 24粉丝 494原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值