This class contains all of the metadata and implications expressed via the {@link Scope}, {@link SurvivesRestarts}, {@link DefaultFactoryFor}, {@link ComponentName}, {@link Inject}, {@link Start} and {@link Stop} annotations. Instead of scanning for these annotations and working out dependency chains at runtime "on-demand", since Infinispan 5.1, this process now happens offline, at build-time.
When compiling Infinispan, components and their dependency chains are inspected and the information expressed by the annotations above are denormalized and a series of {@link ComponentMetadata} objects are created and persisted in theInfinispan jar.
This metadata is then read in by the {@link ComponentMetadataRepo} at runtime, and used by the {@link ComponentRegistry}and other factory-like classes to bootstrap an Infinispan node.
Also see {@link ManageableComponentMetadata} for components that also expose JMX information.
@author Manik Surtani
@since 5.1
@see ManageableComponentMetadata
@see ComponentMetadataRepo