JBoss EAP on Azure App Service に Jakarta EE アプリケーションをデプロイする

完了

このユニットでは、Azure App Service 上の Red Hat JBoss Enterprise Application Platform (JBoss EAP) に Jakarta EE アプリケーションをデプロイする手順について説明します。 また、データベースに接続する方法についても説明します。 実際には、次のユニットでこれらの手順を実行します。

Jakarta EE アプリケーションを作成する

このモジュールでは、次のテクノロジを使用するサンプル Jakarta EE アプリケーションを使用します。

  • Jakarta EE 10
  • JAX-RS 3.1
  • JSON-B 3.0
  • CDI 4.0
  • JPA 3.1

ヒント

ここで紹介するデプロイ手順は、ほとんどの Jakarta EE Web アプリケーションで使用される手順と似ています。

Maven を使用して Azure にデプロイするためのアプリケーション プロジェクトを構成する

Microsoft は、Java Web アプリケーションを Azure App Service にデプロイするための Azure App Service 用の Maven プラグインを提供しています。 この Maven プラグインを使用すると、App Service インスタンスに対して次の設定を構成できます。

設定 説明
subscriptionID デプロイ用の Azure サブスクリプション。
resourceGroup Web コンテナーがデプロイされているリソース グループの名前。
appName Web コンテナーのアプリケーション インスタンス名。
pricingTier 使用する仮想マシンの選択。
region デプロイするリージョン。 このモジュールでは、MySQL のインストール場所と同じ場所を使用します。
runtimeOS 使用するオペレーティング システム。 このモジュールでは、 Linuxを使用します。
runtimejavaVersion Web コンテナーの Java 仮想マシンのバージョン。 このモジュールでは、 Java 17を使用します。
runtimewebContainer Web コンテナー。 このモジュールでは、 Red Hat JBoss EAP 8を使用します。

WAR パッケージをビルドする

./mvnw package コマンドを使用して、Web アプリケーション アーカイブ (WAR) パッケージをビルドできます。

必要に応じて、ローカルの JBoss EAP 環境にデプロイすることで、パッケージをテストできます。

JBoss EAP に Jakarta EE アプリをデプロイする

Maven アーティファクトを作成したら、Azure App Service 用 Maven プラグインの deploy コマンドを使用して、JBoss EAP にアプリケーションをデプロイできます。 このコマンドは、上記のプラグイン設定に基づいて、Azure リソース グループと JBoss EAP のインスタンスを作成します。 この 1 つのコマンドは、インスタンスの作成から Java Web アプリケーションのデプロイまで、すべてを実行します。

すべての Azure Maven プラグインは、共通の構成セットを共有します。 構成の完全な一覧については、プラグインのリファレンス ドキュメントを参照してください。 詳細については、「 共通構成」を参照してください。 App Service に固有の構成の詳細については、「 Azure Web App: 構成の詳細」を参照してください

データ ソースと JNDI を使用してデータベース接続を構成する

アプリケーションには、データ ソースへのバインドが必要です。 次のユニットでは、前のユニットで作成した MySQL データベースを使用するようにアプリケーションを構成します。 JBoss EAP からデータベースに接続するには、アプリケーションがデータベースに接続できるようにする DataSource オブジェクトを構成する必要があります。

前に作成した Azure Database for MySQL インスタンスに接続するように DataSource を構成するには、次の設定を使用します。

データ ソースの構成 価値
DataSource Name JPAWorldDataSourceDS
JNDI Name java:jboss/datasources/JPAWorldDataSource
Connection URL ${MYSQL_CONNECTION_URL}
JDBC Driver Name $PACKAGE_NAME.war_com.mysql.cj.jdbc.Driver_9_2
Minimum Pool Size 5
Maximum Pool Size 20
JDBC Class Name com.mysql.cj.jdbc.Driver

データ ソースの java:jboss/datasources/JPAWorldDataSource の Java 名前付けおよびディレクトリ インターフェイス (JNDI) 名を使用しました。 JNDI は、コードを変更せずに別のデータベースに変更する複数の環境で役立ちます。

アプリケーションへのアクセス

JBoss EAP で MySQL データ ソース接続を構成したら、Web ブラウザーまたは curl コマンドを使用して Jakarta EE アプリケーションにアクセスできます。

次のユニットでは、ここで説明する手順を使用してサンプル アプリをデプロイします。