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 のインストール場所と同じ場所を使用します。 |
runtime 、OS |
使用するオペレーティング システム。 このモジュールでは、 Linux を使用します。 |
runtime 、javaVersion |
Web コンテナーの Java 仮想マシンのバージョン。 このモジュールでは、 Java 17 を使用します。 |
runtime 、webContainer |
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 アプリケーションにアクセスできます。
次のユニットでは、ここで説明する手順を使用してサンプル アプリをデプロイします。