Kotlin Ktor Application.conf Application.yaml 設定

今回は、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関数内で、embeddedServerを利用してWebサーバーを起動するようにします。

embeddedServerの第一引数にサーバーオブジェクト(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の設定が反映されていることを確認します。

Ktor Application.kts Application.conf

ログ上での割り当てポート番号も反映されているか確認し、

Ktor Application.conf

http://0.0.0.0:7070にアクセスして確認します。

Ktor http Application.conf


今回のメモは以上となります。

設定は直書きせずに設定ファイルに外出ししたくなると思います。

.propertesファイルなども有り、どのファイルにするか迷うと思いますが、

.confや.yamlもよく利用されると思いますので、

簡単にメモさせて頂きます。

都内でエンジニアをやっています。 2017年に脱サラ(法人設立)しました。 仕事で調べたことや、気になったことをメモしています。
投稿を作成しました 163

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


関連投稿

検索語を上に入力し、 Enter キーを押して検索します。キャンセルするには ESC を押してください。

トップに戻る