问题描述:版本是4.3. 代码就是 创建一个Consumer一个Producer,两者都是使用了默认的属性,仅指定topic,group nameServer必要属性。 这个时候发现 consumer的clientId是 localIp@Pid@NameServerAddr ,而producer的clientId是localIp@Default@nameServerAddr。 由于clientId不同 rocketMQ内部会创建两个MQClientInstance
Q1: 为什么默认情况下 (也就是 创建consumer和Producer仅指定必要信息,其他属性信息都使用默认值)同一个JVM内的consumer和producer 没有共用同一个MQClientInstance? 毕竟每启动一个MQClientInstance,MQClientInstance会启动一些其他定时任务与nameServer进行同步数据。
Q2:某书中 提到 “ 在一个 JVM中的所有消费者、生产者持有同一个 MQClientlnstance, MQClientlnstance 只会启动一次。” 感觉这个描述好像不太对呀
问题描述:版本是4.3. 代码就是 创建一个Consumer一个Producer,两者都是使用了默认的属性,仅指定topic,group nameServer必要属性。 这个时候发现 consumer的clientId是 localIp@Pid@NameServerAddr ,而producer的clientId是localIp@Default@nameServerAddr。 由于clientId不同 rocketMQ内部会创建两个MQClientInstance
Q1: 为什么默认情况下 (也就是 创建consumer和Producer仅指定必要信息,其他属性信息都使用默认值)同一个JVM内的consumer和producer 没有共用同一个MQClientInstance? 毕竟每启动一个MQClientInstance,MQClientInstance会启动一些其他定时任务与nameServer进行同步数据。
Q2:某书中 提到 “ 在一个 JVM中的所有消费者、生产者持有同一个 MQClientlnstance, MQClientlnstance 只会启动一次。” 感觉这个描述好像不太对呀