-
@Retention(RUNTIME) @Documented @Qualifier @Target({TYPE,METHOD,PARAMETER,FIELD}) public @interface RuntimeStart
Run time of the application (as opposed to build time).This is from the point of view of ahead of time compilation, such as when using GraalVM native-image.
There are two phases of an application lifecycle:
BuildTimeStart
- Application should not connect anywhere, this is to initialize the environment beforenative-image
is generated. Configuration available is build-time specific and MUST not be used for runtime operation of this application- Runtime (this annotation) - Application is starting and should set up all resources. Configuration available at runtime is intended for runtime of this application
Example of usage in a CDI
Extension
:void initRuntime(@Observes @RuntimeStart io.helidon.config.Config config) {}
End of runtime is equivalent to end ofApplicationScoped
, so there is no need to create additional annotations.