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

RabbitMQ Hello模式入门指南

        RabbitMQ是一个流行的开源消息代理软件,它实现了高级消息队列协议(AMQP)。在分布式系统中,RabbitMQ被广泛用于异步消息传递,以提高系统的可扩展性、可靠性和灵活性。本博客将通过一个简单的Hello模式示例,展示如何使用Java语言在RabbitMQ中发送和接收消息。

一、准备工作

        在开始之前,请确保你已经安装了RabbitMQ服务器,并且它正在运行。你可以从RabbitMQ官网下载并安装。

        你还需要在Java项目中包含RabbitMQ的Java客户端库。如果你使用Maven作为构建工具,可以在pom.xml中添加以下依赖:

<dependency>  <groupId>com.rabbitmq</groupId>  <artifactId>amqp-client</artifactId>  <version>5.13.0</version> <!-- 请检查最新版本 -->  
</dependency>

二、生产者(Producer)

        生产者负责发送消息到RabbitMQ的队列。以下是使用Java编写的生产者示例:

import com.rabbitmq.client.Channel;  
import com.rabbitmq.client.Connection;  
import com.rabbitmq.client.ConnectionFactory;  public class Send {  private final static String QUEUE_NAME = "hello";  public static void main(String[] argv) throws Exception {  ConnectionFactory factory = new ConnectionFactory();  factory.setHost("localhost");  try (Connection connection = factory.newConnection();  Channel channel = connection.createChannel()) {  channel.queueDeclare(QUEUE_NAME, false, false, false, null);  String message = "Hello World!";  channel.basicPublish("", QUEUE_NAME, null, message.getBytes());  System.out.println(" [x] Sent '" + message + "'");  }  }  
}

三、消费者(Consumer)

        消费者负责从RabbitMQ的队列中接收并处理消息。以下是使用Java编写的消费者示例:

import com.rabbitmq.client.*;  public class Recv {  private final static String QUEUE_NAME = "hello";  public static void main(String[] argv) throws Exception {  ConnectionFactory factory = new ConnectionFactory();  factory.setHost("localhost");  Connection connection = factory.newConnection();  Channel channel = connection.createChannel();  channel.queueDeclare(QUEUE_NAME, false, false, false, null);  System.out.println(" [*] Waiting for messages. To exit press CTRL+C");  DeliverCallback deliverCallback = (consumerTag, delivery) -> {  String message = new String(delivery.getBody(), "UTF-8");  System.out.println(" [x] Received '" + message + "'");  };  channel.basicConsume(QUEUE_NAME, true, deliverCallback, consumerTag -> { });  }  
}

三、运行示例

  1. 启动RabbitMQ服务器:确保RabbitMQ服务正在运行。

  2. 编译Java程序:使用Java编译器(如javac)编译生产者和消费者程序。

  3. 运行消费者程序:首先,在命令行中运行消费者程序,让它等待接收消息。

  4. 运行生产者程序:然后,在另一个命令行窗口中运行生产者程序,发送一条消息。

  5. 观察结果:回到运行消费者程序的命令行窗口,你应该能看到它接收并打印了生产者发送的消息。


新时代农民工 (QQ:277718357) 点击关注下方  微信公众号:程序进阶之路,了解更多技术知识。 


http://www.mrgr.cn/news/25802.html

相关文章:

  • telnet不是内部或外部命令(已解决)
  • Python学习笔记--列表、字典、集合、元组
  • expect自动登录ssh,ftp
  • 【深度学习】【onnxruntime】C++调用onnx
  • 力扣刷题--73. 矩阵置零【中等】
  • Java语法糖
  • 【网络安全】-ssrf服务器请求伪造攻击-burp
  • 智汇云舟斩获创客北京2024鲲鹏应用创新大赛北京区总决赛一等奖
  • 帮领导、客户代买火车票,公司报销怎么开发票?
  • Zookeeper工作机制、特点、数据结构、应用场景、配置参数解读
  • 便宜好用的无人机集群组网技术详解
  • 稀有 Punk 10E 到手?「捡漏」的背后是一个已停止运营的 NFT 碎片化协议
  • Unity3D 实现水体交互详解
  • Java 17 LTS-增强的 switch 表达式
  • 18 C语言实现深度优先搜索
  • 介绍 Apache Spark 的基本概念和在大数据分析中的应用。
  • OpenAI发布最强推理模型o1,它真的会思考,但API比4o贵好几倍
  • VMware替换需重点关注这件事,可能直接影响迁移的成败
  • AI图像篡改检测:如何识破Deepfake的虚假伪装?
  • 自己掏耳朵怎么弄干净?可视挖耳勺排行榜!