Helio
06/21/2022, 11:31 AMonStopping, onPrepareStop and onStopped
ApplicationEvents are not triggered for Netty Engine? Is that expected? If so, do you have any suggestion to properly handle those Graceful Shutdowns?
Thanks once again for your help.Aleksei Tirman [JB]
06/21/2022, 12:13 PMval server = embeddedServer(Netty, port = 3333) {
environment.monitor.subscribe(ApplicationStopping) {
println("Stopping")
}
environment.monitor.subscribe(ApplicationStopped) {
println("Stopped")
}
environment.monitor.subscribe(ApplicationStopPreparing) {
println("Preparing")
}
}
server.start(wait = false)
server.stop()
Helio
06/21/2022, 12:24 PMkill -15 PID
? I'm afraid it won't printHelio
06/21/2022, 12:30 PMfun main() {
startKoin { modules(httpClientModule, serviceModule, useCaseModule, redisModule) }
embeddedServer(Netty, port = 8080, module = Application::module).start(wait = true)
}
fun Application.module() {
environment.monitor.subscribe(ApplicationStarting) { print("Starting") }
environment.monitor.subscribe(ApplicationStarted) { print("Started") }
environment.monitor.subscribe(ApplicationStopping) { print("Stopping") }
environment.monitor.subscribe(ApplicationStopped) { print("Stopped") }
environment.monitor.subscribe(ApplicationStopPreparing) { print("Preparing") }
}
Helio
06/21/2022, 12:32 PMAndreas Scheja
06/21/2022, 2:42 PMval server = embeddedServer(Netty, port = 8080) {
...
}
Runtime.getRuntime().addShutdownHook(
thread(start = false) {
server.stop()
}
)
server.start(wait = true)
Aleksei Tirman [JB]
06/21/2022, 3:05 PMaddShutdownHook
method:
server.addShutdownHook {
server.stop()
}
Helio
06/21/2022, 10:53 PM