このガイドでは、App Engine スタンダード環境で動作する Java ウェブサービスの作成方法について説明します。Java ランタイムとその仕組みの詳細については、Java Runtime Environment をご覧ください。
始める前に
まだインストールしていない場合は、次の操作を行います。
- 使用する App Engine ランタイム バージョンに Java 開発キット(JDK)の最新バージョンをインストールします。
- サンプルアプリのビルド、実行、デプロイを行う Apache Maven をダウンロードしてインストールします。
要点
- App Engine は実行可能な JAR アプリケーションをアップロードすることにより、アプリケーションを起動します。
- アプリケーションには、PORT 環境変数で指定されたポート(通常は 8080)の HTTP リクエストに応答するウェブサーバーを起動するメインクラスが必要です。
- App Engine にサービスをデプロイするには、
app.yaml
ファイルが必要です。 - 依存関係を
pom.xml
ファイル内にリストすることで、依存関係を使用できます。詳細については、Java ライブラリの使用をご覧ください。
メインクラスの作成
ウェブサービスの中核となるのが HTTP サーバーです。このガイドのサンプルコードでは、Spring Boot フレームワークを使用して HTTP リクエストを処理していますが、好みのウェブ フレームワークを自由に使用できます。
Maven ビルドシステムを使用して Java の Spring Boot プロジェクトを生成し、Spring Web の依存関係を含めます。まず、次のリンクをクリックします。
Spring Initializer で、[Generate] ボタンをクリックしてプロジェクトを生成し、ダウンロードします。
ダウンロードしたプロジェクトで、アプリケーション クラスを変更して次のインポートとコードを含めます。
変更後のクラスはコントローラで、Spring Boot の組み込み Tomcat サーバーを起動し、ルートパス(
'/'
)でGET
リクエストに「Hello world!」というテキストを返します。
サーバーのローカルでの実行
サーバーをローカルで実行するには:
Spring Boot Maven プラグインを使用して、ローカルのウェブサーバーを起動します。
mvn spring-boot:run
ウェブブラウザに次のアドレスを入力します。
http://localhost:8080
サンプルアプリから Hello World というメッセージがページに表示されます。ターミナル ウィンドウで Ctrl+C キーを押してウェブサーバーを終了します。
app.yaml
ファイルの作成
App Engine ランタイム環境でアプリの設定を指定するには:
次のディレクトリに
app.yaml
という名前のファイルを作成します。
my-java-service/src/main/appengine/
ファイルに次の内容を追加します。
Java 17
runtime: java17
Java 11
app.yaml
ファイルでは、ネットワーク設定やスケーリング設定などを指定することもできます。詳細については、app.yaml
リファレンスをご覧ください。
上記の Spring Initializr リンクを使用した場合、ファイル構造は次のようになっているはずです。
my-java-service/
pom.xml
src/main/
appengine/
app.yaml
java/com/example/appengine/springboot/
SpringbootApplication.java
次のステップ
これで、適切なポートをリッスンする簡単な Java ウェブサーバーの作成と、app.yaml
ファイルでのランタイムの指定が済み、サービスを App Engine にデプロイする準備が整いました。