サーバシャットダウン用のURLの追加

Estimated reading time: 1 minute

この機能は、アクセスした際にサーバをシャットダウンさせるURLを有効にする機能です。

HOCONを使って自動設定する方法Featureをインストールする方法の2つの方法があります。

This feature is defined in the class io.ktor.server.engine.ShutDownUrl.ApplicationCallFeature in the artifact io.ktor:ktor-server-host-common:$ktor_version.
dependencies { implementation "io.ktor:ktor-server-host-common:$ktor_version" }
dependencies { implementation("io.ktor:ktor-server-host-common:$ktor_version") }
<project> ... <dependencies> <dependency> <groupId>io.ktor</groupId> <artifactId>ktor-server-host-common</artifactId> <version>${ktor.version}</version> <scope>compile</scope> </dependency> </dependencies> </project>

HOCONを使って自動設定

HOCONファイルのktor.deployment.shutdown.urlプロパティを使って、 シャットダウンURLを設定することができます。

ktor {
    deployment {
        shutdown.url = "/my/shutdown/path"
    }
}

機能のインストール

ShutDownUrl.ApplicationCallFeatureを使い、shutDownUrlexitCodeSupplierをセットすることで、 Featureを手動でインストールすることができます。

install(ShutDownUrl.ApplicationCallFeature) {
    // The URL that will be intercepted
    shutDownUrl = "/ktor/application/shutdown"
    // A function that will be executed to get the exit code of the process
    exitCodeSupplier = { 0 } // ApplicationCall.() -> Int
}