public class DefaultCacheSettingsManager extends Object implements CacheSettingsManager, org.springframework.beans.factory.InitializingBean
CacheSettingsManager that uses a read-only Configuration
file that specifies the cache defaults. The configuration file must be in the format to be parsed using the Typesafe Config Library.
The format of the file must include an entry caches which is an array of objects, that each object contains
the following cacheSettingsOverridesProperties: CacheSettingsBuilder.expireAfterAccess hint
CacheSettingsBuilder.expireAfterWrite hint
CacheSettingsBuilder.flushable() hint CacheSettingsBuilder.local() hint CacheSettingsBuilder.maxEntries hint
CacheSettingsBuilder.replicateAsynchronously() hint
CacheSettingsBuilder.replicateViaCopy() hint
// Defaults for local caches
local-defaults = {
local = true
flushable = true
max-entries = 1000
expire-after-access-secs = 360
}
// Defaults for replicated caches
remote-defaults = ${local-defaults} {
local = false
replicate-via-copy = true
}
remote-big = ${remote-defaults} {
expire-after-write-secs = 42
flushable = false
replicate-async = true
replicate-via-copy = false
max-entries = 666666
}
caches = [
{ name = "a.local.cache", config = ${local-defaults} }
{ name = "a.remote.cache", config = ${remote-defaults} }
{ name = "big.ones.*", config = ${remote-big} }
{ name = "reg.+exp[chars(\\", config = ${remote-big} }
{ name = "*", config = ${remote-defaults} }
]
| Constructor and Description |
|---|
DefaultCacheSettingsManager(BootstrapManager bootstrapManager,
com.atlassian.beehive.ClusterLockService clusterLockService,
String cacheSettingsDefaults,
String cacheSettingsOverrides,
List<String> nonFlushableCaches) |
| Modifier and Type | Method and Description |
|---|---|
void |
afterPropertiesSet() |
com.atlassian.cache.CacheSettings |
getDefaults(String name) |
com.atlassian.cache.CacheSettings |
obtainDefaults(String name)
Deprecated.
|
boolean |
saveSettings()
Persists all changes made so far by update* methods.
|
com.atlassian.fugue.Option<Integer> |
updateMaxEntries(String name,
int newValue)
Persists updates to the max entries settings for the specified cache.
|
public DefaultCacheSettingsManager(BootstrapManager bootstrapManager, com.atlassian.beehive.ClusterLockService clusterLockService, String cacheSettingsDefaults, String cacheSettingsOverrides, List<String> nonFlushableCaches) throws IOException
IOExceptionpublic void afterPropertiesSet()
throws Exception
afterPropertiesSet in interface org.springframework.beans.factory.InitializingBeanExceptionpublic com.atlassian.fugue.Option<Integer> updateMaxEntries(String name, int newValue)
CacheSettingsManagerupdateMaxEntries in interface CacheSettingsManagername - the name of the cache to updatepublic boolean saveSettings()
CacheSettingsManagersaveSettings in interface CacheSettingsManager@Deprecated public com.atlassian.cache.CacheSettings obtainDefaults(String name)
CacheSettingsManagerobtainDefaults in interface CacheSettingsManagerCopyright © 2003–2015 Atlassian. All rights reserved.