当前位置: 首页 > 网络应用技术

RocketMQ活页夹集成消息订阅

时间:2023-03-06 17:34:07 网络应用技术

  AbstractMessagechanlbinder类提供了一项协议,以创建MessageProducer,在初始化粘合剂时加载CreateConsumerEndpoint方法。

  RocketMQMessageChannelBinder完成了RocketMqinBoundChannelAdapter的创建和初始化。

  Rocketmqmessagechannelbinder的CreateConsumerNDPoint方法:

  RocketMqinBoundChannelAdapter是一个适配器,需要适应Spring Framework的重试和回调机制,以订阅消息和转换消息格式。RocketmqlistenerBindingContainer是RocketMQ客户端API的封装,它将其保存在适配器中。

  RockEtMQ提供了两个消费模型:顺序消耗和并发消耗。RocketMQ客户端API中的默认侦听器是defaultMessageListenerderly。消费的默认监视器是defaultMessageListenerConconcorlys类。无论哪种消费者模型,听众收到的新闻都会回电Rocketmqlistener。

  创建并初始化RocketMqlistener实施

  RocketMqinBoundChannelAdapter

  从DefaultMessageListenerly收到RockEtMQ消息后,首先回电bindingRocketMqlistener的OnMessage方法,然后致电RocketMqinBoundChannelAdapter的SendMessage方法将消息发送到DirectChannel。

  Spring Cloud Stream的接收消息与发送消息的消息一致。活页夹中收到的消息发送到MessageChannel,并通过调度员将订阅的Messagechanel转发给相应的MessageHandler。

  RocketMqinboundChannelAdapter,MessageChannel的getputChannel()的MessageChannel(),由GetPutChannel()的GetPutChannel()的GetPutChannel()获得。

  MessageProducerSupport的GetOutChannel方法:

  MessagingTemplate继承GeneickMessagingTemplate类,主动执行dosend()方法发送消息

  MessageChannel的实例是DirectChannel对象,重复使用先前的消息发送过程,并通过MessagedisPatcher的消息分发将消息分配给MessageHandler

  相应的消息处理器与DirectChannel相对应

  InvocableHandLermethod使用Java反射机制来完成回调。

  sparlistenernononononononononononononononononononononononononnonnonnotonsintantiated方法:

  在由弹簧容器管理管理的所有单打对象的初始化之后,穿过sparlistenerhandlermethodmapping,以创建和初始化创建InvocableHandLermethod和spartlistessagehandler

  sparlistenerhandlermethodmapping保留了流化器和InvocableHandLermethod之间的映射关系。映射关系的创建是在clactercessaterinprocesspostprocessor的后期治疗方法中()方法()方法()方法()方法。

  spacteristenernanononononononponpostprocessor.this.mappedlistenermethods.add创建并保存spartlistenerhandlermetmapping

  这是使用Spring Cloud Stream使用RocketMQ的消息模型。您还可以使用Springboot集成的RocketMQ组件。