All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.quarkus.runtime.ShutdownEvent Maven / Gradle / Ivy

The newest version!
package io.quarkus.runtime;

/**
 * Event that is fired before shutdown and can be inspected for shutdown cause.
 * See {@link ShutdownEvent#isStandardShutdown()}
 *
 * This event is observed as follows:
 *
 * 
 *     void onStop(@Observes ShutdownEvent ev) {
 *         LOGGER.info("The application is stopping...");
 *     }
 * 
* * The annotated method can access other injected beans. */ public class ShutdownEvent extends jakarta.enterprise.event.Shutdown { private final ShutdownReason shutdownReason; public ShutdownEvent() { this.shutdownReason = ShutdownReason.STANDARD; } public ShutdownEvent(ShutdownReason shutdownReason) { this.shutdownReason = shutdownReason; } /** * Returns {@code true} if the application shutdown is considered standard; i.e. by exiting {@code main()} method or * executing either {@link Quarkus#asyncExit()} or {@link Quarkus#blockingExit()}. *

* All other cases are non-standard - {@code SIGINT}, {@code SIGTERM}, {@code System.exit(n} and so on. * Sending {@code CTRL + C} to running app in terminal is also non-standard shutdown. * * @return true if the app shutdown was standard, false otherwise */ public boolean isStandardShutdown() { return shutdownReason.equals(ShutdownReason.STANDARD); } /** * An enum with values reflecting the reason for application shutdown. */ enum ShutdownReason { /** * When {@code main()} method exits or when either {@link Quarkus#asyncExit()} or * {@link Quarkus#blockingExit()} was executed */ STANDARD, /** * All other cases - {@code SIGINT}, {@code SIGTERM}, {@code System.exit(n} and so on. * This includes sending {@code CTRL + C} to running app in terminal. */ NON_STANDARD; } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy