Class EmbeddedStorageConfigurationBuilder.Default
java.lang.Object
one.microstream.storage.embedded.configuration.types.EmbeddedStorageConfigurationBuilder.Default
- All Implemented Interfaces:
Configuration.Builder
,EmbeddedStorageConfigurationBuilder
,EmbeddedStorageConfigurationPropertyNames
- Enclosing interface:
- EmbeddedStorageConfigurationBuilder
public static class EmbeddedStorageConfigurationBuilder.Default extends Object implements EmbeddedStorageConfigurationBuilder, EmbeddedStorageConfigurationPropertyNames
-
Nested Class Summary
Nested classes/interfaces inherited from interface one.microstream.storage.embedded.configuration.types.EmbeddedStorageConfigurationBuilder
EmbeddedStorageConfigurationBuilder.Default
-
Field Summary
Fields inherited from interface one.microstream.storage.embedded.configuration.types.EmbeddedStorageConfigurationPropertyNames
BACKUP_DIRECTORY, BACKUP_FILESYSTEM, CHANNEL_COUNT, CHANNEL_DIRECTORY_PREFIX, DATA_FILE_CLEANUP_HEAD_FILE, DATA_FILE_MAXIMUM_SIZE, DATA_FILE_MINIMUM_SIZE, DATA_FILE_MINIMUM_USE_RATIO, DATA_FILE_PREFIX, DATA_FILE_SUFFIX, DELETION_DIRECTORY, ENTITY_CACHE_THRESHOLD, ENTITY_CACHE_TIMEOUT, HOUSEKEEPING_INTERVAL, HOUSEKEEPING_TIME_BUDGET, LOCK_FILE_NAME, RESCUED_FILE_SUFFIX, STORAGE_DIRECTORY, STORAGE_FILESYSTEM, TRANSACTION_FILE_PREFIX, TRANSACTION_FILE_SUFFIX, TRUNCATION_DIRECTORY, TYPE_DICTIONARY_FILE_NAME
-
Method Summary
Modifier and Type Method Description Configuration
buildConfiguration()
Finishes the building and returns the resultingConfiguration
.EmbeddedStorageConfigurationBuilder
child(String key)
Creates a builder for a child configuration.EmbeddedStorageConfigurationBuilder
set(String key, String value)
Sets either a simple key-value pair (foo=bar) or an entry in a child-configuration (full.qualified.foo=bar).EmbeddedStorageConfigurationBuilder
setAll(XGettingCollection<KeyValue<String,String>> properties)
Sets many entries at once.EmbeddedStorageConfigurationBuilder
setAll(KeyValue<String,String>... properties)
Sets many entries at once.EmbeddedStorageConfigurationBuilder
setBackupDirectory(String backupDirectory)
The backup directory.EmbeddedStorageConfigurationBuilder
setChannelCount(int channelCount)
The number of threads and number of directories used by the storage engine.EmbeddedStorageConfigurationBuilder
setChannelDirectoryPrefix(String channelDirectoryPrefix)
Name prefix of the subdirectories used by the channel threads.EmbeddedStorageConfigurationBuilder
setDataFileCleanupHeadFile(boolean dataFileCleanupHeadFile)
A flag defining whether the current head file (the only file actively written to) shall be subjected to file cleanups as well.EmbeddedStorageConfigurationBuilder
setDataFileMaximumSize(ByteSize dataFileMaximumSize)
Maximum file size for a data file to avoid cleaning it up.EmbeddedStorageConfigurationBuilder
setDataFileMinimumSize(ByteSize dataFileMinimumSize)
Minimum file size for a data file to avoid cleaning it up.EmbeddedStorageConfigurationBuilder
setDataFileMinimumUseRatio(double dataFileMinimumUseRatio)
The ratio (value in ]0.0;1.0]) of non-gap data contained in a storage file to prevent the file from being dissolved.EmbeddedStorageConfigurationBuilder
setDataFilePrefix(String dataFilePrefix)
Name prefix of the storage files.EmbeddedStorageConfigurationBuilder
setDataFileSuffix(String dataFileSuffix)
Name suffix of the storage files.EmbeddedStorageConfigurationBuilder
setDeletionDirectory(String deletionDirectory)
The deletion directory.EmbeddedStorageConfigurationBuilder
setEntityCacheThreshold(long entityCacheThreshold)
Abstract threshold value for the lifetime of entities in the cache.EmbeddedStorageConfigurationBuilder
setEntityCacheTimeout(Duration entityCacheTimeout)
Timeout for the entity cache evaluator.EmbeddedStorageConfigurationBuilder
setHousekeepingInterval(Duration houseKeepingInterval)
Interval for the housekeeping.EmbeddedStorageConfigurationBuilder
setHousekeepingTimeBudget(Duration housekeepingTimeBudget)
Duration used for each housekeeping cycle.EmbeddedStorageConfigurationBuilder
setLockFileName(String lockFileName)
EmbeddedStorageConfigurationBuilder
setRescuedFileSuffix(String rescuedFileSuffix)
EmbeddedStorageConfigurationBuilder
setStorageDirectory(String storageDirectory)
The base directory of the storage in the file system.EmbeddedStorageConfigurationBuilder
setTransactionFilePrefix(String transactionFilePrefix)
Name prefix of the storage transaction file.EmbeddedStorageConfigurationBuilder
setTransactionFileSuffix(String transactionFileSuffix)
Name suffix of the storage transaction file.EmbeddedStorageConfigurationBuilder
setTruncationDirectory(String truncationDirectory)
The truncation directory.EmbeddedStorageConfigurationBuilder
setTypeDictionaryFileName(String typeDictionaryFileName)
The name of the dictionary file.EmbeddedStorageConfigurationBuilder
valueMapperProvider(ConfigurationValueMapperProvider valueMapperProvider)
Sets theConfigurationValueMapperProvider
.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface one.microstream.configuration.types.Configuration.Builder
child, load, map
Methods inherited from interface one.microstream.storage.embedded.configuration.types.EmbeddedStorageConfigurationBuilder
createEmbeddedStorageFoundation, setBackupDirectoryInUserHome, setStorageDirectoryInUserHome
-
Method Details
-
valueMapperProvider
public EmbeddedStorageConfigurationBuilder valueMapperProvider(ConfigurationValueMapperProvider valueMapperProvider)Description copied from interface:Configuration.Builder
Sets theConfigurationValueMapperProvider
. Use this method to insert user-defined value mappers.- Specified by:
valueMapperProvider
in interfaceConfiguration.Builder
- Parameters:
valueMapperProvider
- the new mapper provider- Returns:
- this builder
-
set
Description copied from interface:Configuration.Builder
Sets either a simple key-value pair (foo=bar) or an entry in a child-configuration (full.qualified.foo=bar).- Specified by:
set
in interfaceConfiguration.Builder
- Parameters:
key
- simple or full-qualified key, cannot be empty ornull
value
- the value to set, cannot benull
- Returns:
- this builder
-
setAll
public EmbeddedStorageConfigurationBuilder setAll(XGettingCollection<KeyValue<String,String>> properties)Description copied from interface:Configuration.Builder
Sets many entries at once.- Specified by:
setAll
in interfaceConfiguration.Builder
- Parameters:
properties
- the key-value pairs- Returns:
- this builder
- See Also:
Configuration.Builder.set(String, String)
-
setAll
Description copied from interface:Configuration.Builder
Sets many entries at once.- Specified by:
setAll
in interfaceConfiguration.Builder
- Parameters:
properties
- the key-value pairs- Returns:
- this builder
- See Also:
Configuration.Builder.set(String, String)
-
child
Description copied from interface:Configuration.Builder
Creates a builder for a child configuration.- Specified by:
child
in interfaceConfiguration.Builder
- Parameters:
key
- the key for the child configuration- Returns:
- a new builder
- See Also:
Configuration.Builder.child(String, Consumer)
-
buildConfiguration
Description copied from interface:Configuration.Builder
Finishes the building and returns the resultingConfiguration
.- Specified by:
buildConfiguration
in interfaceConfiguration.Builder
- Returns:
- the
Configuration
with all values and child-configurations from this builder
-
setStorageDirectory
Description copied from interface:EmbeddedStorageConfigurationBuilder
The base directory of the storage in the file system.- Specified by:
setStorageDirectory
in interfaceEmbeddedStorageConfigurationBuilder
- Parameters:
storageDirectory
- the storage directory- Returns:
- this
-
setDeletionDirectory
Description copied from interface:EmbeddedStorageConfigurationBuilder
The deletion directory.- Specified by:
setDeletionDirectory
in interfaceEmbeddedStorageConfigurationBuilder
- Parameters:
deletionDirectory
- the deletion directory- Returns:
- this
-
setTruncationDirectory
Description copied from interface:EmbeddedStorageConfigurationBuilder
The truncation directory.- Specified by:
setTruncationDirectory
in interfaceEmbeddedStorageConfigurationBuilder
- Parameters:
truncationDirectory
- the trunctation directory- Returns:
- this
-
setBackupDirectory
Description copied from interface:EmbeddedStorageConfigurationBuilder
The backup directory.- Specified by:
setBackupDirectory
in interfaceEmbeddedStorageConfigurationBuilder
- Parameters:
backupDirectory
- the backup directory- Returns:
- this
-
setChannelCount
Description copied from interface:EmbeddedStorageConfigurationBuilder
The number of threads and number of directories used by the storage engine. Every thread has exclusive access to its directory. Default is1
.- Specified by:
setChannelCount
in interfaceEmbeddedStorageConfigurationBuilder
- Parameters:
channelCount
- the new channel count, must be a power of 2- Returns:
- this
-
setChannelDirectoryPrefix
public EmbeddedStorageConfigurationBuilder setChannelDirectoryPrefix(String channelDirectoryPrefix)Description copied from interface:EmbeddedStorageConfigurationBuilder
Name prefix of the subdirectories used by the channel threads. Default is"channel_"
.- Specified by:
setChannelDirectoryPrefix
in interfaceEmbeddedStorageConfigurationBuilder
- Parameters:
channelDirectoryPrefix
- new prefix- Returns:
- this
-
setDataFilePrefix
Description copied from interface:EmbeddedStorageConfigurationBuilder
Name prefix of the storage files. Default is"channel_"
.- Specified by:
setDataFilePrefix
in interfaceEmbeddedStorageConfigurationBuilder
- Parameters:
dataFilePrefix
- new prefix- Returns:
- this
-
setDataFileSuffix
Description copied from interface:EmbeddedStorageConfigurationBuilder
Name suffix of the storage files. Default is".dat"
.- Specified by:
setDataFileSuffix
in interfaceEmbeddedStorageConfigurationBuilder
- Parameters:
dataFileSuffix
- new suffix- Returns:
- this
-
setTransactionFilePrefix
Description copied from interface:EmbeddedStorageConfigurationBuilder
Name prefix of the storage transaction file. Default is"transactions_"
.- Specified by:
setTransactionFilePrefix
in interfaceEmbeddedStorageConfigurationBuilder
- Parameters:
transactionFilePrefix
- new prefix- Returns:
- this
-
setTransactionFileSuffix
Description copied from interface:EmbeddedStorageConfigurationBuilder
Name suffix of the storage transaction file. Default is".sft"
.- Specified by:
setTransactionFileSuffix
in interfaceEmbeddedStorageConfigurationBuilder
- Parameters:
transactionFileSuffix
- new suffix- Returns:
- this
-
setTypeDictionaryFileName
public EmbeddedStorageConfigurationBuilder setTypeDictionaryFileName(String typeDictionaryFileName)Description copied from interface:EmbeddedStorageConfigurationBuilder
The name of the dictionary file. Default is"PersistenceTypeDictionary.ptd"
.- Specified by:
setTypeDictionaryFileName
in interfaceEmbeddedStorageConfigurationBuilder
- Parameters:
typeDictionaryFileName
- new name- Returns:
- this
-
setRescuedFileSuffix
- Specified by:
setRescuedFileSuffix
in interfaceEmbeddedStorageConfigurationBuilder
-
setLockFileName
- Specified by:
setLockFileName
in interfaceEmbeddedStorageConfigurationBuilder
-
setHousekeepingInterval
Description copied from interface:EmbeddedStorageConfigurationBuilder
Interval for the housekeeping. This is work like garbage collection or cache checking. In combination withEmbeddedStorageConfigurationBuilder.setHousekeepingTimeBudget(Duration)
the maximum processor time for housekeeping work can be set. Default is one second.- Specified by:
setHousekeepingInterval
in interfaceEmbeddedStorageConfigurationBuilder
- Parameters:
houseKeepingInterval
- the new interval- Returns:
- this
- See Also:
EmbeddedStorageConfigurationBuilder.setHousekeepingTimeBudget(Duration)
-
setHousekeepingTimeBudget
public EmbeddedStorageConfigurationBuilder setHousekeepingTimeBudget(Duration housekeepingTimeBudget)Description copied from interface:EmbeddedStorageConfigurationBuilder
Duration used for each housekeeping cycle. However, no matter how low the number is, one item of work will always be completed. But if there is nothing to clean up, no processor time will be wasted. Default is 10 milliseconds = 0.01 seconds.- Specified by:
setHousekeepingTimeBudget
in interfaceEmbeddedStorageConfigurationBuilder
- Parameters:
housekeepingTimeBudget
- the new time budget- Returns:
- this
- See Also:
EmbeddedStorageConfigurationBuilder.setHousekeepingInterval(Duration)
-
setEntityCacheThreshold
Description copied from interface:EmbeddedStorageConfigurationBuilder
Abstract threshold value for the lifetime of entities in the cache. SeeStorageEntityCacheEvaluator.New(long, long)
. Default is1.000.000.000
.- Specified by:
setEntityCacheThreshold
in interfaceEmbeddedStorageConfigurationBuilder
- Parameters:
entityCacheThreshold
- the new threshold- Returns:
- this
- See Also:
EmbeddedStorageConfigurationBuilder.setEntityCacheTimeout(Duration)
-
setEntityCacheTimeout
Description copied from interface:EmbeddedStorageConfigurationBuilder
Timeout for the entity cache evaluator. If an entity wasn't accessed in this timespan it will be removed from the cache. Default is one day. SeeStorageEntityCacheEvaluator.New(long, long)
.- Specified by:
setEntityCacheTimeout
in interfaceEmbeddedStorageConfigurationBuilder
- Parameters:
entityCacheTimeout
- the new timeout- Returns:
- this
- See Also:
Duration
,EmbeddedStorageConfigurationBuilder.setEntityCacheThreshold(long)
-
setDataFileMinimumSize
Description copied from interface:EmbeddedStorageConfigurationBuilder
Minimum file size for a data file to avoid cleaning it up. Default is 1 MiB.- Specified by:
setDataFileMinimumSize
in interfaceEmbeddedStorageConfigurationBuilder
- Parameters:
dataFileMinimumSize
- the new minimum file size- Returns:
- this
- See Also:
EmbeddedStorageConfigurationBuilder.setDataFileMinimumUseRatio(double)
-
setDataFileMaximumSize
Description copied from interface:EmbeddedStorageConfigurationBuilder
Maximum file size for a data file to avoid cleaning it up. Default is 8 MiB.- Specified by:
setDataFileMaximumSize
in interfaceEmbeddedStorageConfigurationBuilder
- Parameters:
dataFileMaximumSize
- the new maximum file size- Returns:
- this
- See Also:
EmbeddedStorageConfigurationBuilder.setDataFileMinimumUseRatio(double)
-
setDataFileMinimumUseRatio
public EmbeddedStorageConfigurationBuilder setDataFileMinimumUseRatio(double dataFileMinimumUseRatio)Description copied from interface:EmbeddedStorageConfigurationBuilder
The ratio (value in ]0.0;1.0]) of non-gap data contained in a storage file to prevent the file from being dissolved. "Gap" data is anything that is not the latest version of an entity's data, including older versions of an entity and "comment" bytes (a sequence of bytes beginning with its length as a negative value length header).
The closer this value is to 1.0 (100%), the less disk space is occupied by storage files, but the more file dissolving (data transfers to new files) is required and vice versa.- Specified by:
setDataFileMinimumUseRatio
in interfaceEmbeddedStorageConfigurationBuilder
- Parameters:
dataFileMinimumUseRatio
- the new minimum use ratio- Returns:
- this
-
setDataFileCleanupHeadFile
public EmbeddedStorageConfigurationBuilder setDataFileCleanupHeadFile(boolean dataFileCleanupHeadFile)Description copied from interface:EmbeddedStorageConfigurationBuilder
A flag defining whether the current head file (the only file actively written to) shall be subjected to file cleanups as well.- Specified by:
setDataFileCleanupHeadFile
in interfaceEmbeddedStorageConfigurationBuilder
- Parameters:
dataFileCleanupHeadFile
- the new clean head file- Returns:
- this
-