@Override public CacheHandle register(String name, Cache<String, ?> cache, boolean instrumented) { return _root.register(_prefix + name, cache, instrumented); }
@Override public CacheHandle register(String name, Cache<String, ?> cache, boolean instrumented) { return _root.register(_prefix + name, cache, instrumented); }
@Override public CacheHandle register(String name, Cache<String, ?> cache, boolean instrumented, boolean loadingCache) { return _root.register(_prefix + name, cache, instrumented, loadingCache); }
@Override public CacheHandle register(String name, Cache<String, ?> cache, boolean instrumented, boolean loadingCache) { return _root.register(_prefix + name, cache, instrumented, loadingCache); }
@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; }
@Inject public CachingTableDAO(@CachingTableDAODelegate TableDAO delegate, @CachingTableDAORegistry CacheRegistry cacheRegistry, Clock clock) { _delegate = checkNotNull(delegate, "delegate"); _clock = checkNotNull(clock, "clock"); // The table cache maps table names to AstyanaxTable objects. _tableCache = CacheBuilder.newBuilder() .ticker(ClockTicker.getTicker(clock)) .expireAfterWrite(CACHE_DURATION.toMillis(), TimeUnit.MILLISECONDS) .recordStats() .build(new CacheLoader<String, TableCacheEntry>() { @Override public TableCacheEntry load(String name) throws Exception { try { return new TableCacheEntry(_delegate.get(name)); } catch (UnknownTableException e) { return new TableCacheEntry(_clock.instant().plus(UNKNOWN_TABLE_RELOAD_DURATION)); } } }); cacheRegistry.register("tables", _tableCache, true); }
@Inject public CachingTableDAO(@CachingTableDAODelegate TableDAO delegate, @CachingTableDAORegistry CacheRegistry cacheRegistry, Clock clock) { _delegate = checkNotNull(delegate, "delegate"); _clock = checkNotNull(clock, "clock"); // The table cache maps table names to AstyanaxTable objects. _tableCache = CacheBuilder.newBuilder() .ticker(ClockTicker.getTicker(clock)) .expireAfterWrite(CACHE_DURATION.toMillis(), TimeUnit.MILLISECONDS) .recordStats() .build(new CacheLoader<String, TableCacheEntry>() { @Override public TableCacheEntry load(String name) throws Exception { try { return new TableCacheEntry(_delegate.get(name)); } catch (UnknownTableException e) { return new TableCacheEntry(_clock.instant().plus(UNKNOWN_TABLE_RELOAD_DURATION)); } } }); cacheRegistry.register("tables", _tableCache, true); }
_cacheHandle = settingsCacheRegistry.register("settings", _settingsCache, true);