AMQPImpl類包括AMQP接口(public class AMQImpl implements AMQP)主要囊括了AMQP協定中的通信幀的類别。
這裡以Connection.Start幀做一個例子。
可以看到Start類是Connection類的内部靜态子類,表示此Start類為Connection.Start,而且Start類是繼承Method方法的,包括接下來所有的AMQP協定幀都是繼承這個Method方法,Method可以看成用來區分AMQP協定幀的類型。
Method類是一個抽象類(Base class for AMQP method objects, specialized by autogenerated code in AMQP.java),我們來看下Method類的代碼:
代碼不長。挑幾個解釋下。
protocolClassId()和protocolMethodId():每一個Method(Connection.Start/.StartOk, Connection.Tune/.TuneOk等等)都包含classId和methodId,可以參考下圖:

protocolMethodName()傳回本Method的名稱,比如Connection.Start的就是:
boolean hasContent()用來區分這個Method之後是否有Content-Body,比如Connection.Start的為:
又比如Basic.Publish的為:
好了,這裡可以回來接着講AMQPImpl了。
下面是一張表,用來涵蓋AQMP協定各個種類的Method以及其一些屬性,看完這張表就看完了AMQPImpl的全部。
Method-Name
classId
methodId
hasContent
Connection.Start
10
false
Connection.StartOk
11
Connection.Secure
20
Connection.SecureOk
21
Connection.Tune
30
Connection.TuneOk
31
Connection.Open
40
Connection.OpenOk
41
Connection.Close
50
Connection.CloseOk
51
Connection.Blocked
60
Connection.Unblocked
61
Channel.Open
Channel.OpenOk
Channel.Flow
Channel.FlowOk
Channel.Close
Channel.CloseOk
Access.Request
Access.RequestOk
Exchange.Declare
Exchange.DeclareOk
Exchange.Delete
Exchange.DeleteOk
Exchange.Bind
Exchange.BindOk
Exchange.Unbind
Exchange.UnbindOk
Queue.Declare
Queue.DeclareOk
Queue.Bind
Queue.BindOk
Queue.Purge
Queue.PurgeOk
Queue.Delete
Queue.DeleteOk
Queue.Unbind
Queue.UnbindOk
Basic.Qos
Basic.QosOk
Basic.Consume
Basic.ConsumeOk
Basic.Cancel
Basic.CancelOk
Basic.Publish
true
Basic.Return
Basic.Deliver
Basic.Get
70
Basic.GetOk
71
Basic.GetEmpty
72
Basic.Ack
80
Basic.Reject
90
Basic.RecoverAsync
100
Basic.Recover
110
Basic.RecoverOk
111
Basic.Nack
120
Tx.Select
Tx.SelectOk
Tx.Commit
Tx.CommitOk
Tx.Rollback
Tx.RollbackOk
Confirm.Select
85
Confirm.SelectOk
<a href="http://blog.csdn.net/u013256816/article/details/70214929">[Conclusion]RabbitMQ-用戶端源碼之總結</a>
<a href="http://blog.csdn.net/u013256816/article/details/70214708">[一]RabbitMQ-用戶端源碼之ConnectionFactory</a>
<a href="http://blog.csdn.net/u013256816/article/details/70214730">[二]RabbitMQ-用戶端源碼之AMQConnection</a>
<a href="http://blog.csdn.net/u013256816/article/details/70214754">[三]RabbitMQ-用戶端源碼之ChannelManager</a>
<a href="http://blog.csdn.net/u013256816/article/details/70214776">[四]RabbitMQ-用戶端源碼之Frame</a>
<a href="http://blog.csdn.net/u013256816/article/details/70214791">[五]RabbitMQ-用戶端源碼之AMQChannel</a>
<a href="http://blog.csdn.net/u013256816/article/details/70214811">[六]RabbitMQ-用戶端源碼之AMQCommand</a>
<a href="http://blog.csdn.net/u013256816/article/details/70214835">[七]RabbitMQ-用戶端源碼之AMQPImpl+Method</a>
<a href="http://blog.csdn.net/u013256816/article/details/70214863">[八]RabbitMQ-用戶端源碼之ChannelN</a>
<a href="http://blog.csdn.net/u013256816/article/details/70214903">[九]RabbitMQ-用戶端源碼之Consumer</a>