## 优化缓存括展,支持缓存null值

当前CacheFilter存在无法缓存null值问题

但是某些rpc接口被设计成可能返回空值(比如跟据用户名查询用户信息接口,如果查询不到,返回null)


## 增加一个内部类包装待缓存的数据

        static class ValueWrapper {
                private final Object value;
        public ValueWrapper(Object value){
                this.value = value;
        }
        public Object get() {
                return this.value;
        }
    }

## Verifying this change

XXXXX

Follow this checklist to help us incorporate your contribution quickly and 
easily:

- [x] Make sure there is a 
[GITHUB_issue](https://github.com/apache/incubator-dubbo/issues) filed for the 
change (usually before you start working on it). Trivial changes like typos do 
not require a GITHUB issue. Your pull request should address just this issue, 
without pulling in other changes - one PR resolves one issue.
- [ ] Format the pull request title like `[Dubbo-XXX] Fix UnknownException when 
host config not exist #XXX`. Each commit in the pull request should have a 
meaningful subject line and body.
- [ ] Write a pull request description that is detailed enough to understand 
what the pull request does, how, and why.
- [ ] Write necessary unit-test to verify your logic correction, more mock a 
little better when cross module dependency exist. If the new feature or 
significant change is committed, please remember to add integration-test in 
[test module](https://github.com/apache/incubator-dubbo/tree/master/dubbo-test).
- [ ] Run `mvn clean install -DskipTests` & `mvn clean test-compile 
failsafe:integration-test` to make sure unit-test and integration-test pass.
- [ ] If this contribution is large, please follow the [Software Donation 
Guide](https://github.com/apache/incubator-dubbo/wiki/Software-donation-guide).


[ Full content available at: 
https://github.com/apache/incubator-dubbo/pull/2480 ]
This message was relayed via gitbox.apache.org for [email protected]

Reply via email to