OCI Cloud Shell で Oracle GraalVM を使用する
このガイドでは、Oracle Cloud Infrastructure (OCI) Cloud Shell で Oracle GraalVM を使い始める方法について説明します。
OCI Cloud Shell は、Oracle Cloud コンソールからアクセス可能な、ブラウザベースのターミナルです。事前認証された OCI コマンドラインインターフェイス (CLI)、プリインストールされた開発者ツールへのアクセスを提供し、5 GB のストレージが付属しています。
OCI Cloud Shell には Oracle GraalVM for JDK 17 がプリインストールされているため、開発マシンをインストールして構成する必要はありません。
注意: Oracle GraalVM ライセンスとサポートは、追加料金なしで Oracle Cloud Infrastructure サブスクリプションに含まれています。
OCI Cloud Shell 内 で Oracle GraalVM を使用するための手順
Cloud Shell には Oracle GraalVM JDK を含む、いくつかのプリインストールされた JDK があります。
csruntimectl java list
コマンドを使用してインストールされている JDK を一覧表示します。csruntimectl java list
出力には、Cloud Shell にプリインストールされた JDK が一覧表示されます。 Oracle GraalVM for JDK 17、Oracle JDK 11、Oracle JDK 8 です。アスタリスクが付与されている JDK は、現在の JDK です。
- 現在の JDK として Oracle GraalVM for JDK 17 を選択します。
csruntimectl java set graalvmjdk-17
「The current managed java version is set to graalvmjdk-17」という確認メッセージが表示されます。
- 次に、環境変数
PATH
とJAVA_HOME
の値、java
とnative-image
ツールのバージョンを確認します。echo $JAVA_HOME
echo $PATH
java -version
native-image --version
Cloud Shell 内の Oracle GraalVM JDK を使用して Java アプリケーションを実行する準備が整いました。
Java アプリケーションを実行する
この例は Maven を使用した Spring Boot 上に構築された、最小限の REST ベースのアプリケーションです。pom.xml ファイルは、Spring ネイティブツールが機能として追加された Spring Initializr を使用して生成されました。Spring AOT プラグイン は、Spring アプリケーションをネイティブ実行可能ファイルに事前変換します。
- demos リポジトリをクローンし、アプリケーションのルートディレクトリに変更します。
git clone https://github.com/graalvm/graalvm-demos.git cd graalvm-demos/spring-native-image
- Maven でアプリケーションをビルドします (Apache Maven も Cloud Shell にプリインストールされています)。
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
これにより、Linux のネイティブ実行可能ファイルが target ディレクトリに生成され、benchmark-jibber という名前が付けられます。
- 次のコマンドを使用してネイティブ実行可能ファイルを実行します。
./target/benchmark-jibber &
エンドポイントを呼び出してテストします。
curl http://localhost:8080/jibber
再び、ナンセンスな詩が表示されるはずです。
アプリケーションをフォアグラウンドに表示します。
fg
Ctrl+c を押してアプリケーションを停止します。
おめでとうございます。Cloud Shell で Oracle GraalVM JDK とネイティブイメージを使用して、Spring Boot REST アプリケーションの構築とテストに成功しました。
このように、OCI Cloud Shell で Oracle GraalVM を使用して、Micronaut、Spring、その他のマイクロサービスフレームワークで簡単な Java アプリケーションを構築およびテストできます。