The entry point to the boot strap system is the BootStrapper singleton
class. It is meant to be called by either the Component or the Configuration
Services (for lazy loading) or by a startup class.
The startup sequence has 3 steps:
- Start the Configuration Service
- Start the Component Service
- Load any components listed as startup components
The Configuration Service is started using a minimum amount of configuration drawn from
the Deployment Properties (see
Deployment Properties).
Once the Configuration Service is started, it is used as the source of configuration
needed to start the Component Service. Once the Component Service is started, the Startup
Service component is fetched and all components configured to start are started.
The Carbon Startup sequence is triggered by the first request to the Configuration or Component
Services unless the Bootstrap subsystem is explicitly called to load. The startup sequence
is synchronized so that only one thread will load Carbon while all others wait. The startup
sequence will run only once.
Each step relys on the results of the previous steps. The Component
Service needs configuration. Startup components need configuration
and are created by the Component Service.