文档章节

java RabbitMQ

y
 yan5845hao
发布于 2017/05/21 15:12
字数 304
阅读 5
收藏 0

四种交换器

Fanout: 不管消息的routing key和参数表的头信息/值是什么, 消息将会路由到该队列上。
Topic: 如果消息的routing key与bingding的routing key符合通配符匹配的话, 消息将会路由到该队列上。
Direct: 如果消息的routing key与bingding的routing key直接匹配的话, 消息将会路由到该队列上。
Headers: 如果消息参数表中的头信息和值都与binding参数表中相匹配, 消息将会路由到该队列上。

创建消息生成者

String EXCHANGE_NAME = "uwo.topic";
// 创建连接工厂
ConnectionFactory factory = new ConnectionFactory();
// 设置RabbitMQ相关信息
factory.setHost("10.211.55.8");
factory.setUsername("uwo");
factory.setPassword("yan5845hao");
factory.setVirtualHost("/");
factory.setPort(5672);
// 创建一个新的连接
Connection connection = factory.newConnection();
// 创建一个通道
Channel channel = connection.createChannel();
// 声明topic模式的交换机
channel.exchangeDeclare(EXCHANGE_NAME, "topic", true);
// 发送消息
String message = "Hello, UWO!";
channel.basicPublish(EXCHANGE_NAME, "com.uwo.rabbit", null, message.getBytes());
channel.close();
connection.close();

创建消息消费者

ConnectionFactory factory = new ConnectionFactory();
factory.setHost("10.211.55.8");
Connection connection = factory.newConnection();
Channel channel = connection.createChannel();
// 声明topic模式的交换机
channel.exchangeDeclare(EXCHANGE_NAME, "topic", true);
String queue = channel.queueDeclare().getQueue();
// 设置匹配的字符
channel.queueBind(queue, EXCHANGE_NAME, "com.uwo.#");
Consumer 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("收到信息:" + message);
     }
};
channel.basicConsume(queueName, true, consumer);

© 著作权归作者所有

共有 人打赏支持
上一篇: Spring 配置RabbitMQ
下一篇: Docker 安装RabbitMQ
y
粉丝 7
博文 124
码字总数 22079
作品 0
扬州
程序员
私信 提问
RabbitMQ入门(1)--介绍

前面声明本文都是RabbitMQ的官方指南翻译过来的,由于本人水平有限难免有翻译不当的地方,如发现不对的地方,请联系下我,好及时改正。好了,正文开始: RabbitMQ 是一个消息代理。这主要的原...

-悟空-
2015/02/24
0
18
RabbitMQ 3.6.5 Milestone 2 发布

RabbitMQ 3.6.5 Milestone 2 发布了,RabbitMQ 是由 LShift 提供的一个 Advanced Message Queuing Protocol (AMQP) 的开源实现,由以高性能、健壮以及可伸缩性出名的 Erlang 写成,因此也是继...

凝小紫
2016/08/30
892
5
RabbitMQ 3.6.1 RC1 发布

RabbitMQ 3.6.1 RC1 发布了,下载地址: https://github.com/rabbitmq/rabbitmq-server/releases/tag/rabbitmq_v3_6_1_rc1 该版本完整的改进内容如下: Bug Fixes Purging a lazy queue cou......

淡漠悠然
2016/02/13
871
0
redhat 安装Rabbitmq

先安装JDK 安装erlang环境: 安装依赖文件:yum install gcc glibc-devel make ncurses-devel openssl-devel xmlto; yum install unixODBC-devel 解压erlang文件:tar -zxvf otpsrc19.2.ta......

ts88
2018/04/23
0
0
RabbitMQ 3.6.1 RC2 发布

RabbitMQ 3.6.1 RC2 发布了,下载地址: https://github.com/rabbitmq/rabbitmq-server/releases/tag/rabbitmq_v3_6_1_rc2 完整改进记录: Server Bug Fixes Windows installer failed to c......

淡漠悠然
2016/02/21
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

Java B2B2C o2o多用户商城 springcloud架构-docker-feign-hystrix(六)

简介 上一节我们讨论feign的配置,这节我们讨论一下,feign+hystrix调用生产者时,进行容错处理 一、创建模块(microservice-consumer-movie-feign-with-hystrix) 二、pom.xml文件 <?xml ve...

sccspuercode
24分钟前
2
0
简单聊聊Linux学习经历

简单聊聊Linux学习经历 学习,是我们一生中都规避不了的一个话题,人的一生中都是在不断的学习,无论是功成名就的人士,还是一无是处的小混混,始终都处在一个不断学习的环境中,只是学习的内...

linuxCool
43分钟前
2
0
C++ This 详解

分类: C++ this 是 C++ 中的一个关键字,也是一个 const 指针,它指向当前对象,通过它可以访问当前对象的所有成员。 所谓当前对象,是指正在使用的对象。例如对于stu.show();,stu 就是当前...

天王盖地虎626
今天
3
0
如何自制一个Spring Boot Starter并推送到远端公服

概 述 传统的 Maven项目一般将需要被复用的组件做成 Module来进行管理,以便二次调用;而在 Spring Boot项目中我们则可以使用更加优雅的 Spring Boot Starter来完成这一切。 基于Spring Boot...

CodeSheep
今天
1
0
大数据教程(11.9)hive操作基础知识

上一篇博客分享了hive的简介和初体验,本节博主将继续分享一些hive的操作的基础知识。 DDL操作 (1)创建表 #建表语法CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name [(col_name ...

em_aaron
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部