Skip to content

GraalVM

サンプルプロジェクト: graalvm

Ktor Serverアプリケーションは、さまざまなプラットフォーム向けのネイティブイメージを作成するためにGraalVMを利用でき、当然ながら、GraalVMが提供する起動時間の短縮やその他の利点を活用できます。

現在、GraalVMを活用したいKtor Serverアプリケーションは、アプリケーションエンジンとしてCIOを使用する必要があります。

GraalVMの準備

GraalVMをインストールし、インストールディレクトリをシステムパスに追加することに加え、すべての依存関係がバンドルされるようにアプリケーションを準備する必要があります。つまり、fat jarを作成する必要があります。

リフレクションの設定

GraalVMには、Ktorのようにリフレクションを使用するアプリケーションに関するいくつかの要件があります。これには、特定の型情報を含むJSONファイルを提供する必要があります。この設定ファイルは、native-imageツールの引数として渡されます。

native-imageツールの実行

fat jarの準備ができたら、残りのステップはnative-image CLIツールを使用してネイティブイメージを作成することだけです。 これはGradleプラグインでも実行できます。 build.gradle.ktsファイルの例はこちらで確認できます。 ただし、使用されている依存関係やプロジェクトのパッケージ名などによって、一部のオプションが異なる場合があることに注意してください。

生成されたバイナリの実行

シェルスクリプトがエラーなしで実行されると、ネイティブアプリケーションが得られます。サンプルの場合はgraal-serverという名前です。これを実行するとKtor Serverが起動し、https://0.0.0.0:8080で応答します。

//: # (

コード例: deployment-ktor-plugin

)