如何使用 RabbitMQ 进行消息的发送和接收

1、创建连接工厂:

ConnectionFactory factory = new ConnectionFactory();
factory.setHost("localhost"); // 设置 RabbitMQ 服务器的主机地址
Connection connection = factory.newConnection(); // 创建连接
Channel channel = connection.createChannel(); // 创建通道

2、创建交换器和队列:

String exchangeName = "my-exchange"; // 交换器名称
String queueName = "my-queue"; // 队列名称

channel.exchangeDeclare(exchangeName, "direct", true, false, null); // 声明直连型交换器
channel.queueDeclare(queueName, true, false, false, null); // 声明队列
绑定交换器和队列:
java
channel.queueBind(queueName, exchangeName, "key"); // 将队列绑定到交换器,使用指定的路由键

3、发送消息:

String message = "Hello, RabbitMQ!"; // 要发送的消息内容

AMQP.BasicProperties properties = new AMQP.BasicProperties.Builder()
       .contentType("text/plain") // 设置消息内容类型
       .build();

channel.basicPublish(exchangeName, "key", properties, message.getBytes("UTF-8")); // 发送消息到交换器

4、接收消息:

DefaultConsumer consumer = new DefaultConsumer(channel) {
    @Override
    public void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties, byte[] body) throws IOException {
        String message = new String(body, "UTF-8");

        System.out.println("Received message: " + message); // 处理接收到的消息
    }
};

channel.basicConsume(queueName, true, consumer); // 启动消费者,监听队列

在上述示例中,我们创建了一个连接工厂,并通过它建立与 RabbitMQ 服务器的连接和通道。然后,我们声明了一个直连型交换器和一个队列,并将它们绑定在一起。接下来,我们使用basicPublish方法发送消息到交换器,并使用basicConsume方法启动消费者来接收消息。

RabbitMQ 详细操作步骤介绍

请注意,这只是一个简单的示例,实际应用中可能需要根据具体需求进行更多的配置和处理,例如处理消息确认、错误处理等。此外,还可以使用 RabbitMQ 的其他特性和功能,如主题交换器、Fanout 交换器、消息路由等。
希望这个示例对你有所帮助。如果你有任何进一步的问题,请随时提问。

上一篇:UOS部署oceanbase


下一篇:LeetCode 304. 二维区域和检索 - 矩阵不可变