@Override public CacheHandle register(String name, Cache<String, ?> cache, boolean instrumented) { return _root.register(_prefix + name, cache, instrumented); }
@Override public CacheHandle lookup(String name, boolean create) { return _root.lookup(_prefix + name, create); }
public MaintenanceScheduler(MaintenanceDAO maintenanceDao, Optional<TableMutexManager> tableMutexManager, String selfDataCenter, CacheRegistry cacheRegistry, MoveTableTask task) { _maintDao = checkNotNull(maintenanceDao, "maintenanceDao"); _tableMutexManager = checkNotNull(tableMutexManager, "tableMutexManager"); _selfDataCenter = checkNotNull(selfDataCenter, "selfDataCenter"); _tableCacheHandle = cacheRegistry.lookup("tables", true); cacheRegistry.addListener(this); task.setScheduler(this); }
@Provides @Singleton @CachingSubscriptionDAORegistry CacheRegistry provideCacheRegistry(CacheRegistry cacheRegistry) { return cacheRegistry.withNamespace("bus"); }
@Override public void addListener(InvalidationListener listener) { _root.addListener(listener); } }
@Provides @Singleton @AuthCacheRegistry CacheRegistry provideCacheRegistry(CacheRegistry cacheRegistry) { return cacheRegistry.withNamespace("auth"); }
@Override public void addListener(InvalidationListener listener) { _root.addListener(listener); } }
@Override public CacheHandle register(String name, Cache<String, ?> cache, boolean instrumented) { return _root.register(_prefix + name, cache, instrumented); }
@Provides @Singleton @CachingTableDAORegistry CacheRegistry provideCacheRegistry(CacheRegistry cacheRegistry) { return cacheRegistry.withNamespace("sor"); }
@Override public CacheHandle lookup(String name, boolean create) { return _root.lookup(_prefix + name, create); }
public MaintenanceScheduler(MaintenanceDAO maintenanceDao, Optional<TableMutexManager> tableMutexManager, String selfDataCenter, CacheRegistry cacheRegistry, MoveTableTask task) { _maintDao = checkNotNull(maintenanceDao, "maintenanceDao"); _tableMutexManager = checkNotNull(tableMutexManager, "tableMutexManager"); _selfDataCenter = checkNotNull(selfDataCenter, "selfDataCenter"); _tableCacheHandle = cacheRegistry.lookup("tables", true); cacheRegistry.addListener(this); task.setScheduler(this); }
@Inject public RemoteInvalidationListener(CacheRegistry cacheRegistry, RemoteInvalidationProvider invalidator) { _invalidator = checkNotNull(invalidator, "invalidator"); cacheRegistry.addListener(this); }
@Override public CacheHandle register(String name, Cache<String, ?> cache, boolean instrumented, boolean loadingCache) { return _root.register(_prefix + name, cache, instrumented, loadingCache); }
@Provides @Singleton @CachingTableDAORegistry CacheRegistry provideCacheRegistry(CacheRegistry cacheRegistry) { return cacheRegistry.withNamespace("sor"); }
@Override public void invalidateAll() { if(_cacheRegistry != null) { for(String name : _allAvailableCaches.keySet()) { // There is a potential race condition here since the cache is added to _allAvailableCaches // then subsequently added to _cacheRegistry in createCache(), making it possible for a value to // be cached but not invalidated on this call. However, to avoid this issue all caches used by // this manager are pre-created in ApiKeyRealm.onInit(), so in practice this can never happen. CacheHandle cacheHandle = _cacheRegistry.lookup(name, false); cacheHandle.invalidateAll(InvalidationScope.GLOBAL); } } else { for(GuavaCache cache : _allAvailableCaches.values()) { cache.clear(); } } }
@Inject public RemoteInvalidationListener(CacheRegistry cacheRegistry, RemoteInvalidationProvider invalidator) { _invalidator = checkNotNull(invalidator, "invalidator"); cacheRegistry.addListener(this); }
@Override public CacheHandle register(String name, Cache<String, ?> cache, boolean instrumented, boolean loadingCache) { return _root.register(_prefix + name, cache, instrumented, loadingCache); }
@Provides @Singleton @CachingSubscriptionDAORegistry CacheRegistry provideCacheRegistry(CacheRegistry cacheRegistry) { return cacheRegistry.withNamespace("bus"); }
@Override public void execute(ImmutableMultimap<String, String> parameters, PrintWriter out) { String name = checkNotNull(Iterables.getFirst(parameters.get("cache"), null), "cache"); String scopeString = Iterables.getFirst(parameters.get("scope"), "LOCAL"); InvalidationScope scope = InvalidationScope.valueOf(scopeString.toUpperCase()); Collection<String> keys = parameters.get("key"); boolean invalidateAll = keys.isEmpty(); CacheHandle handle = _registry.lookup(name, false); if (handle == null) { out.println("Cache not found: " + name); return; } if (invalidateAll) { handle.invalidateAll(scope); } else { handle.invalidateAll(scope, keys); } out.println("Done!"); } }
@Override protected org.apache.shiro.cache.Cache createCache(String name) throws CacheException { // name will be e.g.: "EmoDB.authorizationCache", "EmoDB.authenticationCache" Cache<String, Object> cache = CacheBuilder.from(_spec).<String, Object>build(); GuavaCache managedCache = _allAvailableCaches.get(name); if (managedCache != null) { _log.debug("Returned existing {} named {}", cache.getClass().getName(), name); } else { GuavaCache newCache = new GuavaCache(name, cache); managedCache = _allAvailableCaches.putIfAbsent(name, newCache); if (managedCache == null) { // First time registering this cache _log.debug("Created {} named {}", cache.getClass().getName(), name); if (_cacheRegistry != null) { _cacheRegistry.register(name, cache, true); } managedCache = newCache; } else { _log.debug("Returned existing {} named {}", cache.getClass().getName(), name); } } return managedCache; }