<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I have searched the <a href="https://github.com/apache/dubbo/issues">issues</a> of this repository and believe that this is not a duplicate.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I have checked the <a href="https://github.com/apache/dubbo/blob/master/FAQ.md">FAQ</a> of this repository and believe that this is not a duplicate.</li>
</ul>
<h3 dir="auto">Environment</h3>
<ul dir="auto">
<li>Dubbo version: 2.7.1</li>
<li>Operating System version: mac osx</li>
<li>Java version: 1.8</li>
</ul>
<h3 dir="auto">Steps to reproduce this issue</h3>
<p dir="auto">I am using the newest dubbo and nacos,but when register to the nacos the service only show in the [public] namespace,even if I assign the namesapce name.</p>
<p dir="auto">Will dubbo support this feature ? Nacos &gt;= 0.8.0 has supported the namespace params.</p>
<p dir="auto">Thank you</p>
<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> I have searched the <a href="https://github.com/apache/dubbo/issues">issues</a> of this repository and believe that this is not a duplicate.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> I have checked the <a href="https://github.com/apache/dubbo/blob/master/FAQ.md">FAQ</a> of this repository and believe that this is not a duplicate.</li>
</ul>
<h3 dir="auto">Environment</h3>
<ul dir="auto">
<li>Dubbo version: 2.7.8</li>
<li>Operating System version: MacOS</li>
<li>Java version: 1.8</li>
</ul>
<p dir="auto">dubbo HeaderExchangeChannel source code.</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="public void close() {
        try {
            // graceful close
            DefaultFuture.closeChannel(channel);
            channel.close();
        } catch (Throwable e) {
            logger.warn(e.getMessage(), e);
        }
    }"><pre class="notranslate"><code class="notranslate">public void close() {
        try {
            // graceful close
            DefaultFuture.closeChannel(channel);
            channel.close();
        } catch (Throwable e) {
            logger.warn(e.getMessage(), e);
        }
    }
</code></pre></div>
<p dir="auto">I understand that if closed field is added to this class as the state control of the channel, it should be added to each of its methods. For example, the close method should be modified to</p>
<p dir="auto">public void close() {<br>
if (closed) {<br>
return;<br>
}<br>
closed = true;<br>
try {<br>
// graceful close<br>
DefaultFuture.closeChannel(channel);<br>
channel.close();<br>
} catch (Throwable e) {<br>
logger.warn(e.getMessage(), e);<br>
}<br>
}</p>
<p dir="auto">But if you don't do state control in the class, why not directly let HeaderExchangeChannel inherit the AbstractPeer class?</p>