<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/incubator-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/incubator-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.0</li>
<li>Operating System version: macOs</li>
<li>Java version: 1.8.0</li>
</ul>
<h3 dir="auto">Steps to reproduce this issue</h3>
<ol dir="auto">
<li>引用dubbo-spring-boot-start-2.7.0</li>
<li>配置属性</li>
</ol>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="dubbo:
  application:
#    name: ${spring.applicaiton.name}
    qos-enable: false
  registry:
#    address: zookeeper://localhost:2181
    file: ${user.home}/dubbo-cache/${dubbo.applicaiton.name}/dubbo.cache
#    username: admin
#    password: 123456
    group: dubbo
    simplified: true"><pre class="notranslate"><code class="notranslate">dubbo:
  application:
#    name: ${spring.applicaiton.name}
    qos-enable: false
  registry:
#    address: zookeeper://localhost:2181
    file: ${user.home}/dubbo-cache/${dubbo.applicaiton.name}/dubbo.cache
#    username: admin
#    password: 123456
    group: dubbo
    simplified: true
</code></pre></div>
<ol start="3" dir="auto">
<li>或者使用：</li>
</ol>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content=" file: ${user.home}/dubbo-cache/${spring.applicaiton.name}/dubbo.cache"><pre class="notranslate"><code class="notranslate"> file: ${user.home}/dubbo-cache/${spring.applicaiton.name}/dubbo.cache
</code></pre></div>
<p dir="auto">Pls. provide [GitHub address] to reproduce this issue.</p>
<h3 dir="auto">Expected Result</h3>
<p dir="auto">期望生成</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="/user/xxxx/dubbo-cache/app名称/dubbo.cache"><pre class="notranslate"><code class="notranslate">/user/xxxx/dubbo-cache/app名称/dubbo.cache
</code></pre></div>
<p dir="auto">What do you expected from the above steps？</p>
<h3 dir="auto">Actual Result</h3>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="➜  dubbo-cache pwd
/Users/linzhiqiang/dubbo-cache
➜  dubbo-cache ls -lsh
total 0
0 drwxr-xr-x  4 linzhiqiang  staff   128B  2 20 09:54 ${dubbo.applicaiton.name}
0 drwxr-xr-x  4 linzhiqiang  staff   128B  2 19 15:17 ${spring.applicaiton.name}"><pre class="notranslate"><code class="notranslate">➜  dubbo-cache pwd
/Users/linzhiqiang/dubbo-cache
➜  dubbo-cache ls -lsh
total 0
0 drwxr-xr-x  4 linzhiqiang  staff   128B  2 20 09:54 ${dubbo.applicaiton.name}
0 drwxr-xr-x  4 linzhiqiang  staff   128B  2 19 15:17 ${spring.applicaiton.name}
</code></pre></div>
<p dir="auto">实际上这个变量并没有解析。</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="{&quot;ApplicationConfig&quot;:{&quot;org.apache.dubbo.config.ApplicationConfig#0&quot;:{&quot;architecture&quot;:null,&quot;class&quot;:&quot;org.apache.dubbo.config.ApplicationConfig&quot;,&quot;compiler&quot;:null,&quot;dumpDirectory&quot;:null,&quot;environment&quot;:null,&quot;id&quot;:&quot;testDaoApp&quot;,&quot;logger&quot;:null,&quot;name&quot;:&quot;testDaoApp&quot;,&quot;organization&quot;:null,&quot;owner&quot;:null,&quot;prefix&quot;:&quot;dubbo.application&quot;,&quot;qosAcceptForeignIp&quot;:null,&quot;qosEnable&quot;:false,&quot;qosPort&quot;:null,&quot;registryIds&quot;:null,&quot;shutwait&quot;:null,&quot;valid&quot;:true,&quot;version&quot;:null}},&quot;ConsumerConfig&quot;:"><pre class="notranslate"><code class="notranslate">{"ApplicationConfig":{"org.apache.dubbo.config.ApplicationConfig#0":{"architecture":null,"class":"org.apache.dubbo.config.ApplicationConfig","compiler":null,"dumpDirectory":null,"environment":null,"id":"testDaoApp","logger":null,"name":"testDaoApp","organization":null,"owner":null,"prefix":"dubbo.application","qosAcceptForeignIp":null,"qosEnable":false,"qosPort":null,"registryIds":null,"shutwait":null,"valid":true,"version":null}},"ConsumerConfig":
</code></pre></div>
<p dir="auto">application.name属性是存在的。</p>
<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: ubuntu 18.04</li>
<li>Java version: open jdk 1.8.0_222</li>
</ul>
<h3 dir="auto">Steps to reproduce this issue</h3>
<ol dir="auto">
<li>write two providers in different groups</li>
</ol>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="&lt;dubbo:reference
        id=&quot;dealMenuFileProvider&quot;
        interface=&quot;com.jiurong.mfront.workflow.checker.file.FileProvider&quot; 
        protocol=&quot;hessian&quot;
        group=&quot;g1&quot;
        lazy=&quot;false&quot;
        check=&quot;false&quot;/&gt;
        
&lt;dubbo:reference
        id=&quot;newDealMnoteFileProvider&quot;
        interface=&quot;com.jiurong.mfront.workflow.checker.file.FileProvider&quot; 
        protocol=&quot;hessian&quot;
        group=&quot;g2&quot;
        lazy=&quot;false&quot;
        check=&quot;false&quot;/&gt;"><pre class="notranslate"><code class="notranslate">&lt;dubbo:reference
        id="dealMenuFileProvider"
        interface="com.jiurong.mfront.workflow.checker.file.FileProvider" 
        protocol="hessian"
        group="g1"
        lazy="false"
        check="false"/&gt;
        
&lt;dubbo:reference
        id="newDealMnoteFileProvider"
        interface="com.jiurong.mfront.workflow.checker.file.FileProvider" 
        protocol="hessian"
        group="g2"
        lazy="false"
        check="false"/&gt;
</code></pre></div>
<ol start="2" dir="auto">
<li>write two consumers in different groups</li>
</ol>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="&lt;dubbo:service
        interface=&quot;com.jiurong.mfront.workflow.checker.file.FileProvider&quot;
        ref=&quot;dealMenuFileProvider&quot;
        protocol=&quot;hessian&quot;
        group=&quot;g1&quot;
    /&gt;
    
&lt;dubbo:service
        interface=&quot;com.jiurong.mfront.workflow.checker.file.FileProvider&quot;
        ref=&quot;newDealMnoteFileProvider&quot;
        protocol=&quot;hessian&quot;
        group=&quot;g2&quot;
    /&gt;"><pre class="notranslate"><code class="notranslate">&lt;dubbo:service
        interface="com.jiurong.mfront.workflow.checker.file.FileProvider"
        ref="dealMenuFileProvider"
        protocol="hessian"
        group="g1"
    /&gt;
    
&lt;dubbo:service
        interface="com.jiurong.mfront.workflow.checker.file.FileProvider"
        ref="newDealMnoteFileProvider"
        protocol="hessian"
        group="g2"
    /&gt;
</code></pre></div>
<ol start="3" dir="auto">
<li>invoke each consumer to see which implemention is invoked</li>
</ol>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="  @Autowired(required = false)
  public void setFileProviders(List&lt;FileProvider&gt; providers) {
    for (FileProvider fileProvider : providers) {
      System.out.println(fileProvider.getType());
    }
    this.providers = providers;
  }"><pre class="notranslate"><code class="notranslate">  @Autowired(required = false)
  public void setFileProviders(List&lt;FileProvider&gt; providers) {
    for (FileProvider fileProvider : providers) {
      System.out.println(fileProvider.getType());
    }
    this.providers = providers;
  }
</code></pre></div>
<ol start="4" dir="auto">
<li>When I use hessian or rmi protocol, the provider being invoked is always the first one, group="g1". But when I use dubbo protocol, each group is invoked one by one.</li>
</ol>
<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>
<p dir="auto">Consomer of g2 group should invoke provider of g2 group.</p>
<h3 dir="auto">Actual Result</h3>
<p dir="auto">What actually happens?</p>
<p dir="auto">All the consomers always invoke the first provider, the g1 provider.</p>
<h3 dir="auto">Possible explanation</h3>
<p dir="auto"><code class="notranslate">org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol</code> class used the group parameter inside, but <code class="notranslate">org.apache.dubbo.rpc.protocol.hessian.HessianProtocol</code> did not. Is service-group only supported by dubbo protocol?</p>