博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
RabbitMQ消息队列生产者和消费者
阅读量:5908 次
发布时间:2019-06-19

本文共 2056 字,大约阅读时间需要 6 分钟。

概述

生产者生产数据至 RabbitMQ 队列,消费者消费 RabbitMQ 队列里的数据。

详细

代码下载:

一、准备工作

1、安装 RabbitMQ 服务和 RabbitMQ Management

 

2、在 RabbitMQ 管理界面创建用户 test 密码 test,创建名为 test_vhost 的 Virtual Hosts ,将 test_vhost 分配 给 test用户

3、本实例主要演示如何发送消息至 RabbitMQ 队列 ,以及如何消费 RabbitMQ 队列的消息

二、程序实现

1、程序结构

2.gif

 

2、实现思路

配置发送的 Exchange 和 Queue

 

连接 RabbitMQ 发送数据至队列

public class RabbitmqProducerTest {    private static ApplicationContext context;    public static void main(String[] args) {        context = new ClassPathXmlApplicationContext("send-rabbitMq.xml");        AmqpTemplate amqpTemplate = context.getBean(AmqpTemplate.class);        JSONObject json = new JSONObject();        json.put("name", "张三");        json.put("age", "15");        amqpTemplate.convertAndSend("queue.ljaer.test", json);        //amqpTemplate.convertAndSend("exchange.topic.producer","queue.ljaer.test", json);        System.out.println("success");    }}

 

 

配置监听

 

监听消费 RabbitMQ 队列的数据

public class RabbitmqConsumerTest implements MessageListener {        public void onMessage(Message message) {        System.out.println("receive message:{}"+message.getBody());        try {            String s = new String(message.getBody(), "UTF-8");            System.out.println("------>MQ接收到的数据:"+s);        } catch (UnsupportedEncodingException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }    }}

 

3、配置文件说明

#mqmq.host=192.168.99.100mq.username=testmq.password=testmq.port=5672mq.vhost=/test_vhost

三、运行效果

1、导入项目至 Eclipse,修改 rabbit.properties 里面的连接信息,连接至你本地的 RabbitMQ 服务

2、执行 RabbitmqProducerTest 的 main 方法,发送消息至 RabbitMQ 队列

1.gif

3.gif

 

3、执行 RabbitmqConsumerMain 的 main 方法,进行队列监听,消费 RabbitMQ 队列里的数据

4.gif

 

消费完之后,在 RabbitMQ Managemenet 里面查看也会看到队列数据减少

四、其他补充

1、注意用 guest 用户创建 test 用户之后,需要使用 test 用户登录才能看到该用户下的队列数据

2、如果选择其他类型的 exchange ,注意配文件与 mq 上保持一致

 

代码下载:

注:本文著作权归作者,由demo大师发表,拒绝转载,转载需要作者授权

转载于:https://www.cnblogs.com/demodashi/p/8486491.html

你可能感兴趣的文章
VM虚拟机Linux克隆后网卡的相关操作!
查看>>
jsp中的out对象
查看>>
常用SQL语句整理中,欢迎大家补充....
查看>>
从空白开始填写
查看>>
linux下oracle10g远程安装
查看>>
SAX之错误处理类
查看>>
JUint 4 框架工具的学习,新手只需理解透这几个注解的概念就OK了!
查看>>
httpd
查看>>
S3C2410的布线
查看>>
如何防止短信接口验证码被恶意点击?
查看>>
ssize_t
查看>>
我的友情链接
查看>>
LVM缩容扩容
查看>>
Apache 日志分析
查看>>
控制面板中设备和打印机无法打开 (包括右键无法弹出移除USB设备)
查看>>
WDS部署操作系统之三 WDS部署OS客户端无法获得IP地址
查看>>
JavaScript强化教程——保留关键字
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
基本排序的实现与性能比较
查看>>