OCI Cloud ShellでのGraalVM Enterprise
このガイドでは、Oracle Cloud Infrastructure (OCI) Cloud ShellでGraalVM Enterprise Editionを開始する方法について説明します。
OCI Cloud Shellは、Oracle Cloudコンソールからアクセスできるブラウザベースの端末です。事前認証済のOCIコマンドライン・インタフェース(CLI)を備えたLinuxシェルと、事前インストール済の開発者ツールにアクセス可能で、5GBのストレージが付属しています。
GraalVM Enterprise JDK 17およびネイティブ・イメージがクラウド・シェルに事前にインストールされています。
ノート: GraalVM Enterpriseは、追加コストなしでOracle Cloud Infrastructure上で使用できます。
クラウド・シェルでGraalVM Enterpriseを使用するステップ
クラウド・シェルには、GraalVM Enterprise JDKなど、事前インストールされたJDKがいくつかあります。
-
csruntimectl java list
コマンドを使用して、インストールされたJDKをリストします。次の出力が表示されるはずです。csruntimectl java list
出力で、クラウド・シェルに事前にインストールされているJDK (GraalVM JDK for Java 17、Oracle JDK for Java 11およびOracle JDK for Java 8)がリスト表示されます。アスタリスクでマークされたJDKは、現在のJDKです。
-
現在のJDKとしてGraalVM JDK for Java 17を選択します:
csruntimectl java set graalvmeejdk-17
確認メッセージが
The current managed java version is set to graalvmeejdk-17
と出力されます。 -
ここで、環境変数
PATH
およびJAVA_HOME
の値と、java
のバージョン、native-image
ジェネレータを確認します:echo $JAVA_HOME
echo $PATH
java -version
native-image --version
すべて、クラウド・シェルでGraalVM Enterprise JDKを使用してJavaアプリケーションを実行するように設定されています。
Javaアプリケーションの実行
実行する例は、最小限のRESTベースのアプリケーションで、Mavenを使用してSpring Boot上にビルドされます。pom.xmlファイルは、Spring Native Toolsが機能として追加されたSpring Initializrを使用して生成されました。Spring AOTプラグインは、Springアプリケーションをネイティブ実行可能ファイルに事前に変換します。
-
デモ・リポジトリをクローニングし、アプリケーション・ルート・ディレクトリに移動します:
git clone https://github.com/graalvm/graalvm-demos.git
cd graalvm-demos/spring-native-image
-
Mavenを使用してアプリケーションをビルドします(Apache Mavenもクラウド・シェルに事前にインストールされています):
mvn clean package
これにより、アプリケーションのすべての依存性と正しく構成された
MANIFEST
ファイルを含む、実行可能なJARファイルが生成されます。 -
Javaアプリケーションを実行します:
java -jar ./target/benchmark-jibber-0.0.1-SNAPSHOT.jar &
RESTエンドポイントを呼び出します:
curl http://localhost:8080/jibber
ナンセンス・バースが出力されます。
アプリケーションを前面に移動します:
fg
[Ctrl]+[C]を押して、アプリケーションを終了します。
-
次に、
native
Mavenプロファイルを使用して、このSpring Bootアプリケーションのネイティブ実行可能ファイルをビルドします。mvn -Pnative native:compile
これにより、targetディレクトリ(benchmark-jibberという名前)にLinux用のネイティブ実行可能ファイルが生成されます。
-
次のコマンドを使用して、ネイティブ実行可能ファイルを実行します:
./target/benchmark-jibber &
テストするエンドポイントを呼び出します:
curl http://localhost:8080/jibber
再度、ナンセンス・バースが出力されます。
アプリケーションを前面に移動します:
fg
[Ctrl]+[C]を押して、アプリケーションを終了します。
お疲れ様でした。GraalVM Enterprise JDKおよびネイティブ・イメージを使用して、クラウド・シェルでSpring Boot RESTアプリケーションをビルドおよびテストすることに成功しました。
したがって、OCI Cloud ShellでGraalVM Enterpriseを使用して、Micronaut、Springおよびその他のマイクロサービス・フレームワークで単純なJavaアプリケーションを簡単にビルドおよびテストできます。