自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

朱小厮的博客

你若盛开 蝴蝶自来 你若精彩 天自安排

原创 [Conclusion]RabbitMQ-客户端源码之总结

RabbitMQ遵从的是AMQP协议,其broker端代码采用erlang编写,对于没有接触过erlang的同学(包括博主我)来说,想要了解其中的奥秘实在是不容易,大多只能从网上“搜刮”点散碎的知识点来充实一下。但是这样是不能究其然,更不能究其所以然。博主这里翻阅了amqp-client的java...

2017-04-17 19:19:18

阅读数 4177

评论数 0

原创 [九]RabbitMQ-客户端源码之Consumer

在[八]RabbitMQ-客户端源码之ChannelN中讲述basicConsume的方法时设计到Consumer这个回调函数,Consumer其实是一个接口,真正实现它的是QueueingConsumer和DefaultConsumer,且DefaultConsumer是QueueingCons...

2017-04-17 19:15:46

阅读数 7163

评论数 3

原创 [八]RabbitMQ-客户端源码之ChannelN

ChannelN是整个RabbitMQ客户端最核心的一个类了,其包含的功能点甚多,这里需要分类阐述。 首先来看看ChannelN的成员变量: private final Map<String, Consumer> _consumers = Col...

2017-04-17 19:11:02

阅读数 3337

评论数 2

原创 [七]RabbitMQ-客户端源码之AMQPImpl+Method

AMQPImpl类包括AMQP接口(public class AMQImpl implements AMQP)主要囊括了AMQP协议中的通信帧的类别。 这里以Connection.Start帧做一个例子。 public static class Connection { publi...

2017-04-17 19:07:22

阅读数 1144

评论数 0

原创 [六]RabbitMQ-客户端源码之AMQCommand

AMQCommand是用来处理AMQ命令的,其包含了Method, Content Heaeder和Content Body. 下面是通过wireshark抓包的AMQP协议 上图中的Basic.Publish命令就包含Method, Content header以及Content bod...

2017-04-17 19:02:04

阅读数 1501

评论数 2

原创 [五]RabbitMQ-客户端源码之AMQChannel

AMQChannel是一个抽象类,是ChannelN的父类。其中包含唯一的抽象方法: /** * Protected API - called by nextCommand to check possibly handle an incoming Command before it is ...

2017-04-17 18:59:39

阅读数 1963

评论数 0

原创 [四]RabbitMQ-客户端源码之Frame

Frame是指AMQP协议层面的通信帧(一个正式定义的连接数据包)。 我们来看下Frame类中的成员变量有哪些: /** Frame type code */ public final int type; /** Frame channel number, 0-65535 */ publ...

2017-04-17 18:57:27

阅读数 2015

评论数 0

原创 [三]RabbitMQ-客户端源码之ChannelManager

关于ChannelManager,官方注解:Manages a set of channels, indexed by channel number (1.. _channelMax)。 ChannelManager类的代码量不是很多,主要用来管理Channel的,channelNumber=0...

2017-04-17 18:54:39

阅读数 1769

评论数 0

原创 [二]RabbitMQ-客户端源码之AMQConnection

上一篇文章([一]RabbitMQ-客户端源码之ConnectionFactory)中阐述了conn.start()方法完成之后客户端就已经和broker建立了正常的连接,而这个Connection的关键就在于这个start()方法之内,下面我们来慢慢分析。 首先来看看start()方法的源码,...

2017-04-17 18:51:07

阅读数 4095

评论数 0

原创 [一]RabbitMQ-客户端源码之ConnectionFactory

首先看一段amqp-client发送端的示例代码(展示出主要部分): ConnectionFactory factory = new ConnectionFactory(); factory.setHost(ip); factory.setPort(5672); factory.setUse...

2017-04-17 18:48:01

阅读数 12635

评论数 2

提示
确定要删除当前文章?
取消 删除