当前位置: 首页 > news >正文

一基础验证

1. Maven依赖配置(pom.xml)

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.example</groupId>
<artifactId>rabbitmq_example</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<name>rabbitmq_example</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.rabbitmq</groupId>
<artifactId>amqp-client</artifactId>
<version>5.20.0</version>
</dependency>
<!-- 日志依赖 -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.36</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.7.36</version>
</dependency>


<dependency>
<groupId>com.rabbitmq</groupId>
<artifactId>amqp-client</artifactId>
<version>5.20.0</version>
</dependency>

</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
</project>

2. 生产者代码(Producer.java)

package com.example.rabbitmq.simple;
import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.ConnectionFactory;

public class Producer {
public static void main(String[] args) throws Exception {
// 创建连接工厂
ConnectionFactory connectionFactory = new ConnectionFactory();
// 设置主机地址
connectionFactory.setHost("localhost");
// 设置连接端口号:默认为 5672
connectionFactory.setPort(5672);
// 虚拟主机名称:默认为 /
connectionFactory.setVirtualHost("/");
// 设置连接用户名
connectionFactory.setUsername("guest");
// 设置连接密码
connectionFactory.setPassword("guest");

// 创建连接
Connection connection = connectionFactory.newConnection();
// 创建频道
Channel channel = connection.createChannel();

// 声明队列(持久化)
channel.queueDeclare("simple_queue", true, false, false, null);

// 要发送的信息
String message = "你好;小兔子!";

// 发送消息
channel.basicPublish("", "simple_queue", null, message.getBytes());
System.out.println("已发送消息: " + message);

// 关闭资源
channel.close();
connection.close();
}
}

3. 消费者代码(Comsumer.java)

package com.example.rabbitmq.simple;

import com.rabbitmq.client.*;

import java.io.IOException;

public class Consumer {

public static void main(String[] args) throws Exception {

// 创建连接工厂

ConnectionFactory factory = new ConnectionFactory();

// 设置参数

factory.setHost("localhost");

factory.setPort(5672);

factory.setVirtualHost("/");

factory.setUsername("guest");

factory.setPassword("guest");

// 创建连接

Connection connection = factory.newConnection();

// 创建Channel

Channel channel = connection.createChannel();

// 声明队列

channel.queueDeclare("simple_queue", true, false, false, null);

// 接收消息

DefaultConsumer consumer = new DefaultConsumer(channel) {

@Override

public void handleDelivery(String consumerTag, Envelope envelope,

AMQP.BasicProperties properties, byte[] body) throws IOException {

System.out.println("consumerTag: " + consumerTag);

System.out.println("Exchange: " + envelope.getExchange());

System.out.println("RoutingKey: " + envelope.getRoutingKey());

System.out.println("properties: " + properties);

System.out.println("body: " + new String(body));

}

};

// 消费消息

channel.basicConsume("simple_queue", false, consumer);

}

}

http://www.zskr.cn/news/1340245.html

相关文章:

  • 从实验室到商业项目:Midjourney皮肤质感渲染的临床级验证报告(N=47位皮肤科医生盲测,真实度提升317%的关键3参数组合)
  • 向量库+RAG+大模型在医疗AI中为何常显不足?揭秘图谱如何重塑医疗知识系统信任度!
  • RT-Thread移植到RA4M2(Cortex-M33)踩坑记:HardFault了别慌,手把手教你解读xPSR/CFSR/HFSR
  • 预付卡闲置变现行业解析,瑞祥商联卡红卡合规回收渠道评测 - 资讯纵览
  • 挪威语语音合成精准度跃迁方案(Nynorsk/Bokmål双引擎适配深度解析)
  • 保姆级教程:在Ubuntu上拆解和重组RK356x的update.img固件包
  • 2026AI论文写作工具实测排行榜!这几款才是真神器
  • 2026年天猫代运营服务商权威排名:从宝尊到汉聪,九家实力公司数据对比 - 资讯纵览
  • 《原神》《崩坏:星穹铁道》语音管线拆解(内部PPT级复现):如何用1套模型支撑23种语言+47个角色声线+实时情绪注入
  • XBOX360 KINECT体感游戏合集109个
  • 对比按需计费与 Token Plan 套餐哪种方式更适合长期项目
  • Spring AI生产环境 Checklist:20条黄金法则
  • 电梯物联网大数据企业口碑排名 10项核心参考清单 - 资讯纵览
  • 工厂物业洗地机怎么选:山东天骏硬核资质加持,品质实力双重保障 - 资讯纵览
  • 武汉汽车改装哪家靠谱?2026华中汽车影音改装标杆门店推荐-鑫互联车改影音 - 资讯纵览
  • 07-普宁弱视矫正配镜哪家专业 - 品牌观察
  • [特殊字符] Windows 下 OpenClaw 快速安装与功能使用
  • Win11自带加密真香!手把手教你用‘属性加密’保护私密文件夹(附防忘密码小技巧)
  • 通过Hermes Agent自定义提供商功能接入Taotoken多模型服务
  • 卢森堡全国断网深度解析:华为VRP系统零日漏洞10个月沉默背后的技术与安全危机
  • 宁波哪个医美医院好 - 资讯快报
  • MT7628串口透传实战:手把手教你用ser2net把串口数据转发到TCP(含OpenWrt固件编译)
  • 为什么你的蓝晒图总像“褪色老照片”?3个被忽略的--stylize权重陷阱,今晚失效前速查
  • 安全生产巡检全流程自动化与隐患预警方案:2026工业Agent落地实战指南
  • 制造业生产安全隐患智能识别系统落地指南 —— 结合企业级Agent构建国产安全闭环防御体系
  • 生产线员工智能排班系统,落地步骤与人力优化方案:基于实在Agent与TARS大模型的工业级实现
  • Spring Boot项目升级Swagger到2.10.5踩坑实录:@EnableSwagger2WebMvc替换与依赖补全指南
  • 别再只用Aircrack-ng了!用Kali Linux的Kismet图形化工具,5分钟可视化扫描你周围的WiFi网络
  • 从一道NOI题目看凯撒密码的实战:手把手教你用C++解密‘加密的病历单’
  • CISA KEV 2026年5月重磅更新:5个“活化石“漏洞+2个Defender零日,政企内网面临双重暴击