package com.easyooo.framework.cache.transaction; import java.util.Collection; import java.util.Map; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.easyooo.framework.cache.CacheException; import com.easyooo.framework.cache.annotations.ThreadSafety; import com.easyooo.framework.cache.storage.JVMCache; /** * 直接修改JVM缓存,修改时会锁住整个缓存 * * @author Killer */ @ThreadSafety public class UpdateJvmCacheManager { Logger logger = LoggerFactory.getLogger(getClass()); private final Map<String, Object> cacheMap = new JVMCache().getCacheObject(); /** * 根据命令直接修改缓存数据 */ public void update(Collection<Command> commands){ if(commands == null){ return ; } synchronized (cacheMap) { try { new DefaultJvmCacheTransactionCallback(cacheMap, commands).doCallback(); } catch (CacheException e) { logger.error("An error occurred in the update JVMCache" , e); } } } }