@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, wait
init
public static final java.lang.String NAME
protected volatile java.util.Map<java.lang.String,java.lang.String> cachedProperties
@Inject 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()
CachingStrategy
getObject
in interface CachingStrategy
public java.lang.Object loadObject()
CachingStrategy
loadObject
in interface CachingStrategy
protected void updateCacheInBackground()
public java.util.concurrent.locks.ReadWriteLock lock()
CachingStrategy
lock
in interface CachingStrategy
public boolean needToReload()
CachingStrategy
needToReload
in interface CachingStrategy
public long getUpdateIntervalMs()
public void setUpdateIntervalMs(long updateIntervalMs)
public boolean isUpdateSynchronously()
public void setUpdateSynchronously(boolean updateSynchronously)
public void clearCache()
CachingStrategy
clearCache
in interface CachingStrategy