Commit d5b2b3a9055bd6a2606d9ccd4c6757394473c56f

Authored by ci-aliyun
1 parent 4a52d215

#fix:修复L1级cache使用@CacheEvict(allEntries = true)不生效的bug

src/main/java/com/irrigation/icl/cache/core/LayeringCache.java
@@ -116,13 +116,26 @@ public class LayeringCache extends RedisCache { @@ -116,13 +116,26 @@ public class LayeringCache extends RedisCache {
116 return wrapper; 116 return wrapper;
117 } 117 }
118 118
  119 + @Override
  120 + public void clear() {
  121 + super.clear();
  122 + if (layerL1Enable) {
  123 + Ehcache ehCache = getL1Cache(super.getName());
  124 + ehCache.removeAll();
  125 + layeringCacheManager.publishMessage(Command.rem(this.ID, super.getName()));
  126 + }
  127 + }
  128 +
119 public void updateL1Cache(Command command) { 129 public void updateL1Cache(Command command) {
120 if (layerL1Enable && command != null && !this.ID.equals(command.getSrc())) { 130 if (layerL1Enable && command != null && !this.ID.equals(command.getSrc())) {
121 switch (command.getOper()) { 131 switch (command.getOper()) {
122 case Command.OPT_DEL: 132 case Command.OPT_DEL:
123 - case Command.OPT_REM:  
124 getL1Cache(command.getName()).remove(command.getKey()); 133 getL1Cache(command.getName()).remove(command.getKey());
125 - log.info("Clear Cache L1 {} - {}", command.getName(), command.getKey()); 134 + log.info("Remove Cache L1 {} - {}", command.getName(), command.getKey());
  135 + break;
  136 + case Command.OPT_REM:
  137 + getL1Cache(command.getName()).removeAll();
  138 + log.info("Clear Cache L1 {}", command.getName());
126 break; 139 break;
127 case Command.OPT_SET: 140 case Command.OPT_SET:
128 Cache.ValueWrapper wrapper = super.get(command.getKey()); 141 Cache.ValueWrapper wrapper = super.get(command.getKey());