Annotation Type RuntimeStart

  • @Retention(RUNTIME)
    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 before native-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 of ApplicationScoped, so there is no need to create additional annotations.