今回は、KtorのWebサーバーの設定を、Application.confに外出しして読み込ませるメモとなります。
Application.conf、Application.yamlどちらも同じ方法で対応可能です。
https://ktor.io/docs/configuration-file.html
Application.kt修正
はじめに、Application.ktのmain関数を以下のように修正します。
package com.example
import com.example.plugins.*
import io.ktor.server.application.*
import io.ktor.server.engine.*
import io.ktor.server.netty.*
fun main(args: Array) {
embeddedServer(Netty, commandLineEnvironment(args)).start(wait = true)
}
fun Application.module() {
configureRouting()
}
main関数内で、
を利用してWebサーバーを起動するようにします。
の第一引数にサーバーオブジェクト(NettyやJetty)を指定します。
第二引数は、サーバーに読み込ませる環境情報を指定します。
-port=”数値”などの具体的な指定が無い場合、設定ファイルの内容が読み込まれます。
Application.conf作成
続けて、src/resourcesにApplicaiton.confを作成します。
今回はportやdevelopment(開発中か否か)などを指定してみます。
ktor {
deployment {
port = 7070
development = true
}
application {
modules = [ com.example.ApplicationKt.module ]
}
}
設定反映確認
最後に、この状態でサービス起動を行い、Application.confの設定が反映されていることを確認します。
ログ上での割り当てポート番号も反映されているか確認し、
http://0.0.0.0:7070にアクセスして確認します。
設定は直書きせずに設定ファイルに外出ししたくなると思います。
.propertesファイルなども有り、どのファイルにするか迷うと思いますが、
.confや.yamlもよく利用されると思いますので、
簡単にメモさせて頂きます。