我有一个注释为的方法,@Cacheable
并且 Gemfire 也配置为缓存。
该方法在返回 Not Null 值时工作正常。但是如果它返回 Null 则 Gemfire 会抛出异常,如下所示:
Caused by: java.lang.NullPointerException: value must not be null
com.gemstone.gemfire.internal.cache.LocalRegion.newUpdateEntryEvent(LocalRegion.java:1744)
at com.gemstone.gemfire.internal.cache.LocalRegion.put(LocalRegion.java:1705)
at com.gemstone.gemfire.internal.cache.AbstractRegion.put(AbstractRegion.java:286)
at org.springframework.data.gemfire.support.GemfireCache.put(GemfireCache.java:68)
方法如下:
@Override
@Cachable("date_cache")
public String getData(String value){
return myDataRepository.getLabelByValue(value);
}
如果 myDataRepository.getLabelByValue(value)
为 null,则在 Gemfire 中抛出 NullPointerException,并且从数据库中返回一些数据,然后它可以正常工作。
如果有任何配置可以忽略 Gemfire 中的空值缓存,请提供帮助。