<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.5</li>
<li>Operating System version: Win10</li>
<li>Java version: JDK8</li>
</ul>
<h3 dir="auto">Steps to reproduce this issue</h3>
<ol dir="auto">
<li>use dubbo API show provider application</li>
</ol>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="ServiceConfig&lt;GreetingsService&gt; service = new ServiceConfig&lt;&gt;();
        service.setApplication(new ApplicationConfig(&quot;first-dubbo-provider&quot;));"><pre class="notranslate"><code class="notranslate">ServiceConfig&lt;GreetingsService&gt; service = new ServiceConfig&lt;&gt;();
        service.setApplication(new ApplicationConfig("first-dubbo-provider"));
</code></pre></div>
<ol start="3" dir="auto">
<li>but find this method is annotated by <code class="notranslate">@Deprecated</code></li>
</ol>
<p dir="auto">If i want to show a demo with dubbo API to my students， where can i find a method which with no <code class="notranslate">@Deprecated</code> ？</p>
<hr>
<p dir="auto">Pls. provide [GitHub address] to reproduce this issue.</p>
<h3 dir="auto">Expected Result</h3>
<p dir="auto">What do you expected from the above steps？</p>
<h3 dir="auto">Actual Result</h3>
<p dir="auto">What actually happens?</p>
<p dir="auto">If there is an exception, please attach the exception trace:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="Just put your stack trace here!"><pre class="notranslate"><code class="notranslate">Just put your stack trace here!
</code></pre></div>
<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.8</li>
<li>Operating System version: xxx</li>
<li>Java version: xxx</li>
</ul>
<h3 dir="auto">Steps to reproduce this issue</h3>
<p dir="auto"></p><div class="Box Box--condensed my-2">
  <div class="Box-header f6">
    <p class="mb-0 text-bold">
      <a href="https://github.com/apache/dubbo/blob/56353aebc0c678582f7a2309dfd53d29b46deb3b/dubbo-remoting/dubbo-remoting-netty4/src/main/java/org/apache/dubbo/remoting/transport/netty4/NettyServer.java#L97-L118">dubbo/dubbo-remoting/dubbo-remoting-netty4/src/main/java/org/apache/dubbo/remoting/transport/netty4/NettyServer.java</a>
    </p>
    <p class="mb-0 color-fg-muted">
        Lines 97 to 118
      in
      <a data-pjax="true" class="commit-tease-sha" href="/apache/dubbo/commit/56353aebc0c678582f7a2309dfd53d29b46deb3b">56353ae</a>
    </p>
  </div>
  <div itemprop="text" class="Box-body p-0 blob-wrapper blob-wrapper-embedded data">
    <table class="highlight tab-size mb-0 js-file-line-container" data-tab-size="8" data-paste-markdown-skip="">

        <tbody><tr class="border-0">
          <td id="L97" class="blob-num border-0 px-3 py-0 color-bg-default" data-line-number="97"></td>
          <td id="LC97" class="blob-code border-0 px-3 py-0 color-bg-default blob-code-inner js-file-line"> <span class="pl-s1">bootstrap</span>.<span class="pl-en">group</span>(<span class="pl-s1">bossGroup</span>, <span class="pl-s1">workerGroup</span>) </td>
        </tr>

        <tr class="border-0">
          <td id="L98" class="blob-num border-0 px-3 py-0 color-bg-default" data-line-number="98"></td>
          <td id="LC98" class="blob-code border-0 px-3 py-0 color-bg-default blob-code-inner js-file-line">         .<span class="pl-en">channel</span>(<span class="pl-smi">NettyEventLoopFactory</span>.<span class="pl-en">serverSocketChannelClass</span>()) </td>
        </tr>

        <tr class="border-0">
          <td id="L99" class="blob-num border-0 px-3 py-0 color-bg-default" data-line-number="99"></td>
          <td id="LC99" class="blob-code border-0 px-3 py-0 color-bg-default blob-code-inner js-file-line">         .<span class="pl-en">option</span>(<span class="pl-smi">ChannelOption</span>.<span class="pl-c1">SO_REUSEADDR</span>, <span class="pl-smi">Boolean</span>.<span class="pl-c1">TRUE</span>) </td>
        </tr>

        <tr class="border-0">
          <td id="L100" class="blob-num border-0 px-3 py-0 color-bg-default" data-line-number="100"></td>
          <td id="LC100" class="blob-code border-0 px-3 py-0 color-bg-default blob-code-inner js-file-line">         .<span class="pl-en">childOption</span>(<span class="pl-smi">ChannelOption</span>.<span class="pl-c1">TCP_NODELAY</span>, <span class="pl-smi">Boolean</span>.<span class="pl-c1">TRUE</span>) </td>
        </tr>

        <tr class="border-0">
          <td id="L101" class="blob-num border-0 px-3 py-0 color-bg-default" data-line-number="101"></td>
          <td id="LC101" class="blob-code border-0 px-3 py-0 color-bg-default blob-code-inner js-file-line">         .<span class="pl-en">childOption</span>(<span class="pl-smi">ChannelOption</span>.<span class="pl-c1">ALLOCATOR</span>, <span class="pl-smi">PooledByteBufAllocator</span>.<span class="pl-c1">DEFAULT</span>) </td>
        </tr>

        <tr class="border-0">
          <td id="L102" class="blob-num border-0 px-3 py-0 color-bg-default" data-line-number="102"></td>
          <td id="LC102" class="blob-code border-0 px-3 py-0 color-bg-default blob-code-inner js-file-line">         .<span class="pl-en">childHandler</span>(<span class="pl-k">new</span> <span class="pl-smi">ChannelInitializer</span>&lt;<span class="pl-smi">SocketChannel</span>&gt;() { </td>
        </tr>

        <tr class="border-0">
          <td id="L103" class="blob-num border-0 px-3 py-0 color-bg-default" data-line-number="103"></td>
          <td id="LC103" class="blob-code border-0 px-3 py-0 color-bg-default blob-code-inner js-file-line">             <span class="pl-c1">@</span><span class="pl-c1">Override</span> </td>
        </tr>

        <tr class="border-0">
          <td id="L104" class="blob-num border-0 px-3 py-0 color-bg-default" data-line-number="104"></td>
          <td id="LC104" class="blob-code border-0 px-3 py-0 color-bg-default blob-code-inner js-file-line">             <span class="pl-k">protected</span> <span class="pl-smi">void</span> <span class="pl-en">initChannel</span>(<span class="pl-smi">SocketChannel</span> <span class="pl-s1">ch</span>) <span class="pl-k">throws</span> <span class="pl-smi">Exception</span> { </td>
        </tr>

        <tr class="border-0">
          <td id="L105" class="blob-num border-0 px-3 py-0 color-bg-default" data-line-number="105"></td>
          <td id="LC105" class="blob-code border-0 px-3 py-0 color-bg-default blob-code-inner js-file-line">                 <span class="pl-c">// FIXME: should we use getTimeout()?</span> </td>
        </tr>

        <tr class="border-0">
          <td id="L106" class="blob-num border-0 px-3 py-0 color-bg-default" data-line-number="106"></td>
          <td id="LC106" class="blob-code border-0 px-3 py-0 color-bg-default blob-code-inner js-file-line">                 <span class="pl-smi">int</span> <span class="pl-s1">idleTimeout</span> = <span class="pl-smi">UrlUtils</span>.<span class="pl-en">getIdleTimeout</span>(<span class="pl-en">getUrl</span>()); </td>
        </tr>

        <tr class="border-0">
          <td id="L107" class="blob-num border-0 px-3 py-0 color-bg-default" data-line-number="107"></td>
          <td id="LC107" class="blob-code border-0 px-3 py-0 color-bg-default blob-code-inner js-file-line">                 <span class="pl-smi">NettyCodecAdapter</span> <span class="pl-s1">adapter</span> = <span class="pl-k">new</span> <span class="pl-smi">NettyCodecAdapter</span>(<span class="pl-en">getCodec</span>(), <span class="pl-en">getUrl</span>(), <span class="pl-smi">NettyServer</span>.<span class="pl-smi">this</span>); </td>
        </tr>

        <tr class="border-0">
          <td id="L108" class="blob-num border-0 px-3 py-0 color-bg-default" data-line-number="108"></td>
          <td id="LC108" class="blob-code border-0 px-3 py-0 color-bg-default blob-code-inner js-file-line">                 <span class="pl-k">if</span> (<span class="pl-en">getUrl</span>().<span class="pl-en">getParameter</span>(<span class="pl-c1">SSL_ENABLED_KEY</span>, <span class="pl-c1">false</span>)) { </td>
        </tr>

        <tr class="border-0">
          <td id="L109" class="blob-num border-0 px-3 py-0 color-bg-default" data-line-number="109"></td>
          <td id="LC109" class="blob-code border-0 px-3 py-0 color-bg-default blob-code-inner js-file-line">                     <span class="pl-s1">ch</span>.<span class="pl-en">pipeline</span>().<span class="pl-en">addLast</span>(<span class="pl-s">"negotiation"</span>, </td>
        </tr>

        <tr class="border-0">
          <td id="L110" class="blob-num border-0 px-3 py-0 color-bg-default" data-line-number="110"></td>
          <td id="LC110" class="blob-code border-0 px-3 py-0 color-bg-default blob-code-inner js-file-line">                             <span class="pl-smi">SslHandlerInitializer</span>.<span class="pl-en">sslServerHandler</span>(<span class="pl-en">getUrl</span>(), <span class="pl-s1">nettyServerHandler</span>)); </td>
        </tr>

        <tr class="border-0">
          <td id="L111" class="blob-num border-0 px-3 py-0 color-bg-default" data-line-number="111"></td>
          <td id="LC111" class="blob-code border-0 px-3 py-0 color-bg-default blob-code-inner js-file-line">                 } </td>
        </tr>

        <tr class="border-0">
          <td id="L112" class="blob-num border-0 px-3 py-0 color-bg-default" data-line-number="112"></td>
          <td id="LC112" class="blob-code border-0 px-3 py-0 color-bg-default blob-code-inner js-file-line">                 <span class="pl-s1">ch</span>.<span class="pl-en">pipeline</span>() </td>
        </tr>

        <tr class="border-0">
          <td id="L113" class="blob-num border-0 px-3 py-0 color-bg-default" data-line-number="113"></td>
          <td id="LC113" class="blob-code border-0 px-3 py-0 color-bg-default blob-code-inner js-file-line">                         .<span class="pl-en">addLast</span>(<span class="pl-s">"decoder"</span>, <span class="pl-s1">adapter</span>.<span class="pl-en">getDecoder</span>()) </td>
        </tr>

        <tr class="border-0">
          <td id="L114" class="blob-num border-0 px-3 py-0 color-bg-default" data-line-number="114"></td>
          <td id="LC114" class="blob-code border-0 px-3 py-0 color-bg-default blob-code-inner js-file-line">                         .<span class="pl-en">addLast</span>(<span class="pl-s">"encoder"</span>, <span class="pl-s1">adapter</span>.<span class="pl-en">getEncoder</span>()) </td>
        </tr>

        <tr class="border-0">
          <td id="L115" class="blob-num border-0 px-3 py-0 color-bg-default" data-line-number="115"></td>
          <td id="LC115" class="blob-code border-0 px-3 py-0 color-bg-default blob-code-inner js-file-line">                         .<span class="pl-en">addLast</span>(<span class="pl-s">"server-idle-handler"</span>, <span class="pl-k">new</span> <span class="pl-smi">IdleStateHandler</span>(<span class="pl-c1">0</span>, <span class="pl-c1">0</span>, <span class="pl-s1">idleTimeout</span>, <span class="pl-c1">MILLISECONDS</span>)) </td>
        </tr>

        <tr class="border-0">
          <td id="L116" class="blob-num border-0 px-3 py-0 color-bg-default" data-line-number="116"></td>
          <td id="LC116" class="blob-code border-0 px-3 py-0 color-bg-default blob-code-inner js-file-line">                         .<span class="pl-en">addLast</span>(<span class="pl-s">"handler"</span>, <span class="pl-s1">nettyServerHandler</span>); </td>
        </tr>

        <tr class="border-0">
          <td id="L117" class="blob-num border-0 px-3 py-0 color-bg-default" data-line-number="117"></td>
          <td id="LC117" class="blob-code border-0 px-3 py-0 color-bg-default blob-code-inner js-file-line">             } </td>
        </tr>

        <tr class="border-0">
          <td id="L118" class="blob-num border-0 px-3 py-0 color-bg-default" data-line-number="118"></td>
          <td id="LC118" class="blob-code border-0 px-3 py-0 color-bg-default blob-code-inner js-file-line">         }); </td>
        </tr>
    </tbody></table>
  </div>
</div>
<p></p>
<h3 dir="auto">Expected Result</h3>
<h3 dir="auto">Actual Result</h3>
<p dir="auto">What actually happens?</p>