You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@rocketmq.apache.org by "binzhaomobile (JIRA)" <ji...@apache.org> on 2017/06/04 01:08:04 UTC

[jira] [Created] (ROCKETMQ-209) Duplicated code in class MQClientAPIImpl

binzhaomobile created ROCKETMQ-209:
--------------------------------------

             Summary: Duplicated code in class MQClientAPIImpl
                 Key: ROCKETMQ-209
                 URL: https://issues.apache.org/jira/browse/ROCKETMQ-209
             Project: Apache RocketMQ
          Issue Type: Improvement
          Components: rocketmq-client
    Affects Versions: 4.0.0-incubating, 4.1.0-incubating, 4.2.0-incubating, 4.3.0-incubating
         Environment: All Environments
            Reporter: binzhaomobile
            Assignee: Xiaorui Wang
            Priority: Minor


In class MQClientAPIImpl, the two functions getDefaultTopicRouteInfoFromNameServer and getTopicRouteInfoFromNameServer almost have the same code. The only difference is the way to handle the situation when topic does not exist. Suggestion to fix this issue:
1) Add a new function: public TopicRouteData getTopicRouteInfoFromNameServer(final String topic, final long timeoutMillis, boolean allowTopicNotExist).
2) Move the code from getDefaultTopicRouteInfoFromNameServer and getTopicRouteInfoFromNameServer into the new function so that it can handle both case.
3) Change getDefaultTopicRouteInfoFromNameServer and getTopicRouteInfoFromNameServer to call the new function with   allowTopicNotExist parameter true or false.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)