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)

相关推荐

  • 最小公倍数的求法,最小公倍数的定义和求法

    技术最小公倍数的求法,最小公倍数的定义和求法最小公倍数本是一个只在正整数范围内讨论的概念,不过我们可以把它合理地推广到正分数。一个合理的定义是最小公倍数的求法:一组正分数的最小公倍数,是最小的、且是每个分数的整数倍的数。

    生活 2021年10月24日
  • TokuDB安装及注意事项有哪些

    技术TokuDB安装及注意事项有哪些这篇文章将为大家详细讲解有关TokuDB安装及注意事项有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。TokuDB的特点:1、高压缩比,官方宣称

    攻略 2021年11月6日
  • 如何理解ASP.NET1.1升级到ASP.NET2.0的心得

    技术如何理解ASP.NET1.1升级到ASP.NET2.0的心得如何理解ASP.NET1.1升级到ASP.NET2.0的心得,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到

    攻略 2021年11月26日
  • 如何为Java多线程应用程序优化数据存储库

    技术如何为Java多线程应用程序优化数据存储库本篇文章为大家展示了如何为Java多线程应用程序优化数据存储库,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。数据存储库通常是超高要求

    攻略 2021年11月29日
  • ADO.NET存储过程调用举例分析

    技术ADO.NET存储过程调用举例分析这篇文章主要讲解了“ADO.NET存储过程调用举例分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“ADO.NET存储过程调用举例分

    攻略 2021年12月3日
  • mysql的sql脚本如何导入sql中(mysql客户端导入大sql文件到表)

    技术mysql如何实现导入大的sql脚本这篇文章将为大家详细讲解有关mysql如何实现导入大的sql脚本,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1.首先 导入sql文件:sour

    攻略 2021年12月20日