- [x] I have searched the [issues](https://github.com/apache/dubbo/issues) of this repository and believe that this is not a duplicate.
- [x] I have checked the [FAQ](https://github.com/apache/dubbo/blob/master/FAQ.md) of this repository and believe that this is not a duplicate.

### Environment

* Dubbo version: 2.7.3
* Operating System version: Mac OS
* Java version: 1.8

### Steps to reproduce this issue

1.RouterChain#buildChain(URL)
2.RouterChain#initWithRouters()
3.RouterChain#sort()


### Expected Result

ServiceRouter is High priority than AppRouter

### Actual Result

AppRouter is High priority than ServiceRouter

### Cause by
the code was on ListenableRouter 94~96 line
```
public abstract class ListenableRouter extends AbstractRouter implements ConfigurationListener {    
    ......
    ......
    @Override
    public int getPriority() {
        return DEFAULT_PRIORITY;
    }
```
### Resolve
i think can like this：
```
public abstract class ListenableRouter extends AbstractRouter implements ConfigurationListener {    
    ......
    ......
    @Override
    public int getPriority() {
        return priority;
    }
```
if (logger.isInfoEnabled()) {
            logger.info("Notification of condition rule, change type is: " + event.getChangeType() +
                    ", raw rule is:\n " + event.getContent());
        }
        if (event.getChangeType().equals(ConfigChangeType.DELETED)) {
            routerRule = null;
            conditionRouters = Collections.emptyList();
        } else {
            try {
                routerRule = ConditionRuleParser.parse(event.getContent());
                generateConditions(routerRule);
            } catch (Exception e) {
                logger.error("Failed to parse the raw condition rule and it will not take effect, please check " +
                        "if the condition rule matches with the template, the raw rule is:\n " + event.getContent(), e);
            }
        }
    }
    @Override
    public <T> List<Invoker<T>> route(List<Invoker<T>> invokers, URL url, Invocation invocation) throws RpcException {
        if (CollectionUtils.isEmpty(invokers) || conditionRouters.size() == 0) {
            return invokers;
        }
        
        for (Router router : conditionRouters) {
            invokers = router.route(invokers, url, invocation);
        }
        return invokers;
    }
    @Override
    public int getPriority() {