oslo_messaing通过kombu与rabbitmq建立channel连接,向rabbitmq中发送数据

在oslo_messaging/_drivers/impl_rabbit.py中,初始化self.connection,此时channel为None

oslo_messaging与rabbitmq(1)

在self.ensure_connection才真实初始化channel,self.ensure中self.connection.connect是建立连接,调用kombu中Connction的connect方法

oslo_messaging与rabbitmq(1)

oslo_messaging与rabbitmq(1)

connect方法见下,其在impl_rabbit.py为excute_method的method()方法,autoretry调用execute_method方法,在出现异常时,执行error_back:

oslo_messaging与rabbitmq(1)

 

 oslo_messaging与rabbitmq(1)

 在kombu的connection方法中,使用self.transport的establish_connection

oslo_messaging与rabbitmq(1)

oslo_messaging与rabbitmq(1)

在建立连接时,from .transport import get_transport_cls, supports_librabbitmq,调用get_transport_cls,获取transport_cls建立client端

oslo_messaging与rabbitmq(1)

 

相关文章:

  • 2021-04-02
  • 2021-04-17
  • 2021-11-30
  • 2021-11-30
  • 2021-12-08
猜你喜欢
  • 2021-12-30
  • 2022-12-23
  • 2022-12-23
  • 2022-01-07
  • 2022-12-23
相关资源
相似解决方案