-
Notifications
You must be signed in to change notification settings - Fork 26.5k
CacheFilter,when value is null,it will throw NPE(if use ehcache for jcache),why not check null here #1597
Copy link
Copy link
Closed
Labels
type/bugBugs to being fixedBugs to being fixed
Milestone
Description
com.alibaba.dubbo.cache.filter.CacheFilter
when value is null,it will throw NPE(if use ehcache for jcache),why not check null here?
if the value is null ,maybe we have no need to cache it.
`package com.alibaba.dubbo.cache.filter;
public class CacheFilter implements Filter {
private CacheFactory cacheFactory;
public void setCacheFactory(CacheFactory cacheFactory) {
this.cacheFactory = cacheFactory;
}
public Result invoke(Invoker<?> invoker, Invocation invocation) throws RpcException {
if (cacheFactory != null && ConfigUtils.isNotEmpty(invoker.getUrl().getMethodParameter(invocation.getMethodName(), Constants.CACHE_KEY))) {
Cache cache = cacheFactory.getCache(invoker.getUrl().addParameter(Constants.METHOD_KEY, invocation.getMethodName()));
if (cache != null) {
String key = StringUtils.toArgumentString(invocation.getArguments());
if (cache != null && key != null) {
Object value = cache.get(key);
if (value != null) {
return new RpcResult(value);
}
Result result = invoker.invoke(invocation);
**if (!result.hasException()) {**// should check value null or not ?
cache.put(key, result.getValue());
}
return result;
}
}
}
return invoker.invoke(invocation);
}
}`
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
type/bugBugs to being fixedBugs to being fixed
Type
Fields
Give feedbackNo fields configured for issues without a type.