本文接着上一篇ConnectionFactory的文章分析。
Channel channel = connection.createChannel();概述:创建RecoveryAwareChannelN实例并打开。然后使用AutorecoveringChannel对该实例封装并注册。
由于创建的RecoveryAwareChannelN实例不为空,所以会执行else从句的逻辑。
虽然是由AutorecoveringConnection调用createChannel()方法,但是实际委派给RecoveryAwareAMQConnection创建Channel。
创建RecoveryAwareChannelN实例。
确保连接处于开放状态。
判断连接是否处于开放状态。
创建RecoveryAwareChannelN实例。
instantiateChannel(…):直接构建一个RecoveryAwareChannelN实例。打开该RecoveryAwareChannelN。
发起一次伪RPC调用。(由AMQChannel负责,以后会分析这个方法的)
封装并注册AutorecoveringChannel。
注册该AutorecoveringChannel。