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)

Reply via email to