使用java操作RabbitMQ-定义消息消费者

 时间:2024-10-15 05:39:41

1、消费者的处理流程与生产者的形式类似,因为消费者一定也要通过特定的队列进行处理操作。

2、定义消息消费者Recv。package org.myrabbitmq.base.consumer;i罪焐芡拂mport java.io.IOException;import java.util.concurrent.TimeoutException;import com.rabbitmq.client.AMQP;import com.rabbitmq.client.Channel;import com.rabbitmq.client.Connection;import com.rabbitmq.client.ConnectionFactory;import com.rabbitmq.client.Consumer;import com.rabbitmq.client.DefaultConsumer;import com.rabbitmq.client.Envelope;public class Recv { private final static String QUEUE_NAME = "myrabbit"; public static void main(String[] args) throws IOException, TimeoutException { ConnectionFactory factory = new ConnectionFactory(); factory.setHost("192.168.1.102"); 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"); Consumer consumer = new DefaultConsumer(channel) { public void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties, byte[] body) throws IOException { String message = new String(body, "UTF-8"); System.out.println(" [x] Received '" + message + "'"); } }; channel.basicConsume(QUEUE_NAME, true, consumer); } }

使用java操作RabbitMQ-定义消息消费者

4、查看RabbitMQ服务控制台。

使用java操作RabbitMQ-定义消息消费者

6、RabbitMQ工作队列。现在的程序只定义一个生产者和一个消费者,如果说一个生产者对应有多个消费者?那么就表示工作队列,工作队列的最大特征在于:若干个消费者一起完成工作。启动三个消费者程序,也就是说执行三次main方法。

使用java操作RabbitMQ-定义消息消费者使用java操作RabbitMQ-定义消息消费者

8、查看各个消费者的消费情况。

使用java操作RabbitMQ-定义消息消费者使用java操作RabbitMQ-定义消息消费者

9、当启动了多个消费者之后,这些消费者会在一起共同完成所发出的消费处理,那么这样的处理可以保证消息处理的速度。但是千万要记住,此时使用的是普通队列消息。

  • Protocol message contained an invalid tag
  • antd model中的提示如何换行
  • Eclipse在线导入Git项目
  • Jmeter如何操作函数
  • kettle js脚本代码调试方法
  • 热门搜索
    电脑没声音了怎么办 儿童故事大全白雪公主 香港简介 日记大全300字 老人图片大全 初中600字作文大全 烧烤大全 怀孕注意事项大全 红绿灯图片大全 毒液家族大全谁最强