- [ ] 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!
```

return expireThread.getTimeToLive();
    }
    public void setTimeToLive(int timeToLive) {
        expireThread.setTimeToLive(timeToLive);
    }
    @Override
    public String toString() {
        return "ExpiringMap{" +
                "delegateMap=" + delegateMap.toString() +
                ", expireThread=" + expireThread.toString() +
                '}';
    }
    /**
     * can be expired object
     */
    private class ExpiryObject {
        private K key;
        private V value;
        private AtomicLong lastAccessTime;
        ExpiryObject(K key, V value, long lastAccessTime) {
            if (value == null) {
                throw new IllegalArgumentException("An expiring object cannot be null.");
            }
            this.key = key;
            this.value = value;
            this.lastAccessTime = new AtomicLong(lastAccessTime);
        }
        public long getLastAccessTime() {
            return lastAccessTime.get();
        }