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 07:06:04 UTC

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

     [ https://issues.apache.org/jira/browse/ROCKETMQ-209?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

binzhaomobile updated ROCKETMQ-209:
-----------------------------------
    Description: 
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) Merge 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.

  was:
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.


> 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) Merge 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)