ApplicationEngine

interface ApplicationEngine

Engine which runs an application

Types

Configuration

open class Configuration

Configuration for the ApplicationEngine

Properties

application

open val application: Application

Currently running application instance

environment

abstract val environment: ApplicationEngineEnvironment

Environment with which this engine is running

Functions

start

abstract fun start(wait: Boolean = false): ApplicationEngine

Starts this ApplicationEngine

stop

open fun stop(
    gracePeriod: Long,
    timeout: Long,
    timeUnit: TimeUnit
): Unit
abstract fun stop(
    gracePeriodMillis: Long,
    timeoutMillis: Long
): Unit

Stops this ApplicationEngine

Extension Functions

addShutdownHook

fun ApplicationEngine.addShutdownHook(stop: () -> Unit): Unit

Adds automatic JVM shutdown hooks management. Should be used before starting the engine. Once JVM termination noticed, stop block will be executed. Please note that a shutdown hook only registered when the application is running. If the application is already stopped then there will be no hook and no stop function invocation possible. So stop block will be called once or never.

stop

fun ApplicationEngine.stop(
    gracePeriod: Long,
    timeout: Long,
    timeUnit: TimeUnit
): Unit

Stops this ApplicationEngine

stopServerOnCancellation

fun ApplicationEngine.stopServerOnCancellation(): CompletableJob

Stop server on job cancellation. The returned deferred need to be completed or cancelled.

Inheritors

BaseApplicationEngine

abstract class BaseApplicationEngine : ApplicationEngine

Base class for implementing ApplicationEngine