Package io.nosqlbench.nb.api.components.core
package io.nosqlbench.nb.api.components.core
-
ClassDescriptionA Component is a functional element of the NoSQLBench runtime which is: Contract Oriented - Components are based on well-defined interfaces. Modular - Components are wired together by configuration. Configurable - Components have configurations which are well defined and type safe. User Facing - Components are top level constructs which users interact with. Hierarchic - Components fit together in a runtime hierarchy.Since we like to use SPI/ServiceLoader, and we can't use the Provider-only interface as suggested in
ServiceLoader, we have to indirect to the safe ctor from a parent context.This is the stateful store of metrics on a specific component in the hierarchy.errored_at > 0 -> ERROR started_at == 0 -> STARTING <p> <p> <p> started_at > closed_at STARTING closed_at > started_at RUNNING teardown_at > closed_at STOPPING teardown_at STOPPED stopped_atBecause of ctor super calling order requirements, the task thread can't always be started automatically in super(...).