Implementation of {@link RuntimeConfiguration} that loads bespoke settings from Neo4j's configuration properties, fallingback to default values when overrides aren't available. Intended for internal framework use, mainly for server deployments.
There are two main things configured using this mechanism: the {@link TimingStrategy} and the {@link DatabaseWriterType}.
For {@link TimingStrategy}, there are two choices. The first one is {@link AdaptiveTimingStrategy}, configured by using the following settings
com.graphaware.runtime.timing.strategy=adaptive com.graphaware.runtime.timing.delay=2000 com.graphaware.runtime.timing.maxDelay=5000 com.graphaware.runtime.timing.minDelay=5 com.graphaware.runtime.timing.busyThreshold=100 com.graphaware.runtime.timing.maxSamples=200 com.graphaware.runtime.timing.maxTime=2000
The above are also the default values, if no configuration is provided. For exact meaning of the values, please refer to the Javadoc of {@link AdaptiveTimingStrategy}.
The other option is {@link FixedDelayTimingStrategy}, configured by using the following settings
com.graphaware.runtime.timing.strategy=fixed com.graphaware.runtime.timing.delay=200 com.graphaware.runtime.timing.initialDelay=1000
For {@link WritingConfig}, there are three choices:
com.graphaware.runtime.db.writer=default
results in a {@link com.graphaware.writer.DefaultWriter} being constructed.
com.graphaware.runtime.db.writer=single #optional queue size, defaults to 10,000 com.graphaware.runtime.db.writer.queueSize=10000
results in a {@link com.graphaware.writer.TxPerTaskWriter} being constructed with the configured queue size
com.graphaware.runtime.db.writer=batch #optional queue size, defaults to 10,000 com.graphaware.runtime.db.writer.queueSize=10000 #optional batch size, defaults to 1,000 com.graphaware.runtime.db.writer.batchSize=1000
results in a {@link com.graphaware.writer.BatchWriter} being constructed with the configured queue and batch sizes.