rocketmq-externals icon indicating copy to clipboard operation
rocketmq-externals copied to clipboard

Is DefaultMQPullConsumer use RmqProducerGroup correct in ConnectUtil class?

Open lizhiboo opened this issue 3 years ago • 2 comments

line 87 in ConnectUtil


    public static DefaultMQProducer initDefaultMQProducer(ConnectConfig connectConfig) {
        DefaultMQProducer producer = new DefaultMQProducer();
        producer.setNamesrvAddr(connectConfig.getNamesrvAddr());
        producer.setInstanceName(createInstance(connectConfig.getNamesrvAddr()));
        producer.setProducerGroup(createGroupNameV2(connectConfig.getRmqProducerGroup()));
        producer.setSendMsgTimeout(connectConfig.getOperationTimeout());
        producer.setMaxMessageSize(RuntimeConfigDefine.MAX_MESSAGE_SIZE);
        producer.setLanguage(LanguageCode.JAVA);
        return producer;
    }

    public static DefaultMQPullConsumer initDefaultMQPullConsumer(ConnectConfig connectConfig) {
        DefaultMQPullConsumer consumer = new DefaultMQPullConsumer();
        consumer.setNamesrvAddr(connectConfig.getNamesrvAddr());
        consumer.setInstanceName(createInstance(connectConfig.getNamesrvAddr()));
87      consumer.setConsumerGroup(createGroupNameV2(connectConfig.getRmqProducerGroup()));
        consumer.setMaxReconsumeTimes(connectConfig.getRmqMaxRedeliveryTimes());
        consumer.setBrokerSuspendMaxTimeMillis(connectConfig.getBrokerSuspendMaxTimeMillis());
        consumer.setConsumerPullTimeoutMillis((long) connectConfig.getRmqMessageConsumeTimeout());
        return consumer;
    }

lizhiboo avatar Aug 31 '21 08:08 lizhiboo

In the current design, different workerTasks handle different topics. One workerTask corresponds to one pullConsumer, which improves concurrency to a certain extent, so there is no problem using different consumerGroups.

odbozhou avatar Sep 01 '21 02:09 odbozhou

In the current design, different workerTasks handle different topics. One workerTask corresponds to one pullConsumer, which improves concurrency to a certain extent, so there is no problem using different consumerGroups.

it's weird use producerGroup to create PullConsumer, consumerGroup config is redundant.

lizhiboo avatar Sep 01 '21 02:09 lizhiboo