@Component(value="cuba_ConfigCacheStrategy") public class ConfigCacheStrategy extends java.lang.Object implements CachingStrategy
SourceType.DATABASE.| Modifier and Type | Field and Description |
|---|---|
protected boolean |
backgroundUpdateTriggered |
protected boolean |
cacheCleared |
protected java.util.Map<java.lang.String,java.lang.String> |
cachedProperties |
protected CacheUserSessionProvider |
cacheUserSessionProvider |
protected ClientCacheManager |
clientCacheManager |
protected ConfigStorageService |
configStorageService |
protected long |
lastUsedTs |
static java.lang.String |
NAME |
protected java.util.concurrent.locks.ReadWriteLock |
readWriteLock |
protected long |
updateIntervalMs |
protected boolean |
updateSynchronously |
| Constructor and Description |
|---|
ConfigCacheStrategy() |
| Modifier and Type | Method and Description |
|---|---|
void |
clearCache()
Clears cache strategy data if supported by implementation.
|
java.lang.Object |
getObject()
Return cached object
|
long |
getUpdateIntervalMs() |
boolean |
isUpdateSynchronously() |
java.lang.Object |
loadObject()
Refresh cached object
|
java.util.concurrent.locks.ReadWriteLock |
lock()
Return lock used to provide caching thread safety
|
boolean |
needToReload()
Indicate whether cached object should be refreshed or not
|
void |
setUpdateIntervalMs(long updateIntervalMs) |
void |
setUpdateSynchronously(boolean updateSynchronously) |
protected void |
updateCacheInBackground() |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitinitpublic static final java.lang.String NAME
protected volatile java.util.Map<java.lang.String,java.lang.String> cachedProperties
@Inject @Named(value="cuba_ConfigStorageService") protected ConfigStorageService configStorageService
@Inject protected ClientCacheManager clientCacheManager
@Inject protected CacheUserSessionProvider cacheUserSessionProvider
protected volatile long updateIntervalMs
protected volatile boolean updateSynchronously
protected volatile long lastUsedTs
protected volatile boolean backgroundUpdateTriggered
protected volatile boolean cacheCleared
protected java.util.concurrent.locks.ReadWriteLock readWriteLock
public java.lang.Object getObject()
CachingStrategygetObject in interface CachingStrategypublic java.lang.Object loadObject()
CachingStrategyloadObject in interface CachingStrategyprotected void updateCacheInBackground()
public java.util.concurrent.locks.ReadWriteLock lock()
CachingStrategylock in interface CachingStrategypublic boolean needToReload()
CachingStrategyneedToReload in interface CachingStrategypublic long getUpdateIntervalMs()
public void setUpdateIntervalMs(long updateIntervalMs)
public boolean isUpdateSynchronously()
public void setUpdateSynchronously(boolean updateSynchronously)
public void clearCache()
CachingStrategyclearCache in interface CachingStrategy