Allows observer methods for container lifecycle events to be resolved upfront while the deployment is waiting for classloader
or reflection API.
- Jozef Hartinger
In multi-threaded environment we often cannot leverage multiple core fully in bootstrap because the deployer
threads are often blocked by the reflection API or waiting to get a classloader lock. While waiting for classes to be loaded or
reflection metadata to be obtained, we can make use of the idle CPU cores and start resolving container lifecycle event observers
(extensions) upfront for those types of events we know we will be firing. Since these resolutions are cached, firing of the
lifecycle events will then be very fast.
@SuppressWarnings(value = "RV_RETURN_VALUE_IGNORED_BAD_PRACTICE", justification = "We never need to synchronize with the preloader.")