- [ ] I have searched the [issues](https://github.com/apache/dubbo/issues) of this repository and believe that this is not a duplicate.
- [ ] 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: xxx
* Operating System version: xxx
* Java version: xxx

### Steps to reproduce this issue

![image](https://user-images.githubusercontent.com/8758457/59562427-2e06c800-905f-11e9-9bff-9ea54d87fc6d.png)
![image](https://user-images.githubusercontent.com/8758457/59562435-51317780-905f-11e9-930b-a66bc866ccf1.png)


Pls. provide [GitHub address] to reproduce this issue.

### Expected Result

What do you expected from the above steps？

### Actual Result

What actually happens?

If there is an exception, please attach the exception trace:

```
Just put your stack trace here!
```

private long timeToLiveMillis;
        private long expirationIntervalMillis;
        private volatile boolean running = false;
        private final Thread expirerThread;
        @Override
        public String toString() {
            return "ExpireThread{" +
                    ", timeToLiveMillis=" + timeToLiveMillis +
                    ", expirationIntervalMillis=" + expirationIntervalMillis +
                    ", running=" + running +
                    ", expirerThread=" + expirerThread +
                    '}';
        }
        public ExpireThread() {
            expirerThread = new Thread(this, "ExpiryMapExpire-" + expireCount++);
            expirerThread.setDaemon(true);
        }
        @Override
        public void run() {
            while (running) {