Configuration
This is the manual for older MicroStream versions (Version < 5.0).
The new documentation (Version >= 5.0) is located at:
The
EmbeddedStorageManager
is mostly created with factory methods of EmbeddedStorage
, where the most common settings, like database directory or the root instance, can be configured.EmbeddedStorageManager storageManager = EmbeddedStorage.start(
myRoot, // root object of entity graph
Paths.get("data-dir") // storage data directory
);
To achieve a more detailed customization, you can utilize the
EmbeddedStorageFoundation
factory type. It holds and creates on demand all the parts that form an EmbeddedStorageManager
.NioFileSystem fileSystem = NioFileSystem.New();
EmbeddedStorageManager storageManager = EmbeddedStorageFoundation.New()
.setConfiguration(
StorageConfiguration.Builder()
.setStorageFileProvider(
Storage.FileProviderBuilder(fileSystem)
.setDirectory(fileSystem.ensureDirectoryPath("storageDir"))
.createFileProvider()
)
.setChannelCountProvider(StorageChannelCountProvider.New(4))
.setBackupSetup(StorageBackupSetup.New(
fileSystem.ensureDirectoryPath("backupDir")
))
.createConfiguration()
)
.createEmbeddedStorageManager();
The artifact
storage.embedded.configuration
provides a convenience layer for configuration purposes, as well as facilities to read external configuration. pom.xml
<repositories>
<repository>
<id>microstream-releases</id>
<url>https://repo.microstream.one/repository/maven-public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>one.microstream</groupId>
<artifactId>storage.embedded.configuration</artifactId>
<version>04.01.00-MS-GA</version>
</dependency>
</dependencies>
The
Configuration
type consolidates the most widely used parameters from the storage foundations in one place. It's output is an EmbeddedStorageFoundation
from which a EmbeddedStorageManager
can be created.EmbeddedStorageManager storageManager = Configuration.Default()
.setBaseDirectoryInUserHome("data-dir")
.setBackupDirectory("backup-dir")
.setChannelCount(4)
.createEmbeddedStorageFoundation()
.createEmbeddedStorageManager();
To read an external configuration use
ConfigurationLoader
and ConfigurationParser
or the Load*()
methods of Configuration
. Currently XML and INI files are supported.java (xml)
xml
java (ini)
ini
Configuration configuration = Configuration.LoadXml(
HelloWorld.class.getResource("/META-INF/microstream/storage.xml")
);
<?xml version="1.0" encoding="UTF-8"?>
<properties>
<property name="baseDirectory" value ="data" />
<property name="channelCount" value ="4" />
</properties>
Configuration configuration = Configuration.LoadIni(
HelloWorld.class.getResource("/META-INF/microstream/storage.ini")
);
baseDirectory = data
channelCount = 4
If you just use
Configuration.Load()
the default configuration file is used, which is either a file in the classpath root named microstream-storage.properties
, or the path configured via the system property microstream.storage.configuration.path
.If you use a different format, e.g. Json, just implement the
ConfigurationParser
in the likes of XmlConfigurationParser
or IniConfigurationParser
.Last modified 2yr ago