BaseApplicationEngine

abstract class BaseApplicationEngine(val environment: ApplicationEngineEnvironment, val pipeline: EnginePipeline = defaultEnginePipeline(environment)) : ApplicationEngine

Base class for implementing ApplicationEngine

It creates default engine pipeline, provides application property and installs default transformations on respond and receive

Parameters

environment

instance of ApplicationEngineEnvironment for this engine

pipeline

pipeline to use with this engine

Constructors

Link copied to clipboard
fun BaseApplicationEngine(environment: ApplicationEngineEnvironment, pipeline: EnginePipeline = defaultEnginePipeline(environment))

Types

Link copied to clipboard

Functions

Link copied to clipboard
open suspend override fun resolvedConnectors(): List<EngineConnectorConfig>

Local addresses for application connectors. If environment's connectors was configured to use port=0, you can use this function to get an actual port for these connectors. Available after a server is started.

Link copied to clipboard
abstract fun start(wait: Boolean = false): ApplicationEngine

Starts this ApplicationEngine.

Link copied to clipboard
abstract fun stop(gracePeriodMillis: Long = 500, timeoutMillis: Long = 500)

Stops this ApplicationEngine.

Properties

Link copied to clipboard

A currently running application instance.

Link copied to clipboard
Link copied to clipboard

Extensions

Link copied to clipboard
expect fun ApplicationEngine.addShutdownHook(stop: () -> Unit)

Adds automatic application shutdown hooks management. Should be used before starting the engine. Once application 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.

actual fun ApplicationEngine.addShutdownHook(stop: () -> 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.

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

Adds automatic application shutdown hooks management. Should be used before starting the engine. Once application 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.

Link copied to clipboard
fun ApplicationEngine.stop(gracePeriod: Long, timeout: Long, timeUnit: TimeUnit)
Link copied to clipboard
fun ApplicationEngine.stopServerOnCancellation(gracePeriodMillis: Long = 50, timeoutMillis: Long = 5000): CompletableJob

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