MQ底层类MQClientInstance和ProcessQueue分析

技术MQ底层类MQClientInstance和ProcessQueue分析本篇内容介绍了“MQ底层类MQClientInstance和ProcessQueue分析”的有关知识,在实际案例的操作过程中,不少人都会遇到这样

本文介绍了MQ底层类MQClientInstance和ProcessQueue分析的相关知识。很多人在实际办案过程中都会遇到这样的困难。接下来,让边肖带领大家学习如何应对这些情况!希望大家认真阅读,学点东西!

00-1010 defaultmqproducterrimpl、DefaultMQPullConsumerImpl和DefaultMQPushConsumerImpl的成员变量都包含相同的成员对象:

privateqclientinstance qclientfactory;

this . mqclientfactory=mqclientmanager . getinstance()。getAndCreateMQClientInstance(this . defaultmqpushconsumer,this . rpchook);MQClientInstance的功能如下:

MQClientInstance负责通过与NameServer通信维护心跳,并根据Topic获取Broker地址;

MQClientInstance负责与Broker通信,以发送和接收消息并重新平衡;

在正常情况下,使用火箭MQ的生产者或消费者,或者一个JVM进程只有一个MQClientInstance就足够了。如果不通过setInstanceName手动设置,此时创建的一个或多个使用者或生产者都将使用相同的MQClientInstance(默认名称为“DEFAULT”)。

但是,在某些情况下,只有一个MQClientInstance对象是不够的。例如,如果一个Java程序需要连接两个MQ集群,它将从一个集群被消费并被发送到另一个集群,但是一个MQClientInstance对象不能支持这种情况。在此时一定要手动指定不同的InstanceName,将在底部创建两个MQClientInstance对象。

publicclassMQClientManager{

privatedstatimmqclientmanagerinstance=new mqclientmanager();

private atomicintegerfactoryndexgenerator=new tomicinteger();

privateConcurrentMapString/* client id */,MQClientInstancefactoryTable=

newConcurrentHashMapString,MQClientInstance();ClientId生成规则:

如果在同一台机器上有多个带有MQ集成服务的客户端,进程ID

00-1010路径:org . Apache . rockemq . client . impl . consumer。

“MQ客户端实例和MQ底层类的进程队列分析”的内容到此结束。感谢阅读。如果你想了解更多的行业,可以关注网站。边肖将为您输出更多高质量的实用文章!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/85710.html

(0)

相关推荐

  • JAVA中Throw和throws的区别有哪些

    技术JAVA中Throw和throws的区别有哪些本篇内容主要讲解“JAVA中Throw和throws的区别有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“JAVA中Th

    攻略 2021年11月20日
  • 哺育的读音,狼妈妈怎样哺育自己的孩子

    技术哺育的读音,狼妈妈怎样哺育自己的孩子小狼刚出生时,狼妈妈一般会用乳汁来喂养小狼哺育的读音。在35~45天的时 It间里,狼宝宝得全靠狼妈妈的哺乳才能长大。此后狼妈妈就会适时地 调整小狼的饮食,在小狼的食物中增加固体

    生活 2021年10月24日
  • 银氨溶液化学式,氨与氨气的化学式是什么

    技术银氨溶液化学式,氨与氨气的化学式是什么氨就是氨气…… 化学式 NH3 1银氨溶液化学式、物理性质 相对分子质量 17.031 氨气在标准状况下的密度为0.7081g/L 氨气极易溶于水,溶解度1:700 2、化学性质

    生活 2021年10月30日
  • Linux和Unix磁盘管理命令对比的示例分析

    技术Linux和Unix磁盘管理命令对比的示例分析小编给大家分享一下Linux和Unix磁盘管理命令对比的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!Unix的LVM是当前使用过的最好用的文件

    攻略 2021年11月18日
  • kafka topic 需要建立吗(怎么启动kafka)

    技术怎样认识 Kafka本篇文章为大家展示了怎样认识 Kafka,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。今天我们来聊聊 Kafka ,主要是带你重新认识一下 Kafka,聊

    攻略 2021年12月15日
  • 删除排序数组中的重复项 ----java

    技术删除排序数组中的重复项 ----java 删除排序数组中的重复项 ----java给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。

    礼包 2021年11月4日