|
@@ -90,6 +90,9 @@ public abstract class AbstractFeatureService<K, V> {
|
|
|
|
|
|
private V load(K key) {
|
|
private V load(K key) {
|
|
V feature = getFromCache(key);
|
|
V feature = getFromCache(key);
|
|
|
|
+ if (feature == null) {
|
|
|
|
+ feature = JSONUtils.fromJson(emptyData, typeToken, null);
|
|
|
|
+ }
|
|
// if (feature == null) {
|
|
// if (feature == null) {
|
|
// feature = getFromSource(key);
|
|
// feature = getFromSource(key);
|
|
// saveToCache(key, feature);
|
|
// saveToCache(key, feature);
|
|
@@ -128,25 +131,29 @@ public abstract class AbstractFeatureService<K, V> {
|
|
|
|
|
|
|
|
|
|
Map<K, V> cacheFeatureMap = getFromCache(keys);
|
|
Map<K, V> cacheFeatureMap = getFromCache(keys);
|
|
- if (cacheFeatureMap.size() == keys.size()) {
|
|
|
|
- return cacheFeatureMap;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- ite = keys.iterator();
|
|
|
|
- while (ite.hasNext()) {
|
|
|
|
- cacheFeatureMap.containsKey(ite.next());
|
|
|
|
- ite.remove();
|
|
|
|
|
|
+ for (int i = 0; i < keys.size(); i++) {
|
|
|
|
+ if (cacheFeatureMap.get(keys.get(i)) == null) {
|
|
|
|
+ cacheFeatureMap.put(keys.get(i), JSONUtils.fromJson(emptyData, typeToken, null));
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
+ return cacheFeatureMap;
|
|
|
|
|
|
- Map<K, V> sourceFeatureMap = null;
|
|
|
|
|
|
+// if (cacheFeatureMap.size() == keys.size()) {
|
|
|
|
+// return cacheFeatureMap;
|
|
|
|
+// }
|
|
|
|
+// ite = keys.iterator();
|
|
|
|
+// while (ite.hasNext()) {
|
|
|
|
+// cacheFeatureMap.containsKey(ite.next());
|
|
|
|
+// ite.remove();
|
|
|
|
+// }
|
|
|
|
+//
|
|
|
|
+// Map<K, V> sourceFeatureMap = null;
|
|
// if (CollectionUtils.isNotEmpty(keys)) {
|
|
// if (CollectionUtils.isNotEmpty(keys)) {
|
|
// sourceFeatureMap = getFromSource(keys);
|
|
// sourceFeatureMap = getFromSource(keys);
|
|
// // TODO 可异步
|
|
// // TODO 可异步
|
|
// saveToCache(keys, sourceFeatureMap);
|
|
// saveToCache(keys, sourceFeatureMap);
|
|
// }
|
|
// }
|
|
-
|
|
|
|
-
|
|
|
|
- return CommonCollectionUtils.merge(cacheFeatureMap, sourceFeatureMap);
|
|
|
|
|
|
+// return CommonCollectionUtils.merge(cacheFeatureMap, sourceFeatureMap);
|
|
}
|
|
}
|
|
|
|
|
|
private Map<K, V> getFromCache(List<K> keys) {
|
|
private Map<K, V> getFromCache(List<K> keys) {
|
|
@@ -231,7 +238,7 @@ public abstract class AbstractFeatureService<K, V> {
|
|
try {
|
|
try {
|
|
return cache.getAll(videoIds);
|
|
return cache.getAll(videoIds);
|
|
} catch (Exception e) {
|
|
} catch (Exception e) {
|
|
- log.error("");
|
|
|
|
|
|
+ log.error("get all failed {}", JSONUtils.toJson(videoIds), e);
|
|
}
|
|
}
|
|
return Collections.emptyMap();
|
|
return Collections.emptyMap();
|
|
}
|
|
}
|