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

完了

このユニットの手順では、Java EE アプリケーションを JBoss EAP on Azure App Service にデプロイする方法と、データベースに接続する方法について説明します。 実際には、この手順は次のユニットで実行します。

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

このモジュールでは、事前に準備され、次のテクノロジを使用する Java EE アプリケーションのサンプルを使用します。

  • Java EE 8 (Jakarta EE 8)
  • JAX-RS 2.1
  • JSON-B 1.0
  • CDI 2.0
  • JPA 2.2

ヒント

ここで説明するデプロイ手順は、ほとんどの Java EE (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 8)
runtime webContainer Web コンテナー (JBoss EAP 7)

このモジュールでは、JBoss EAP 環境にアプリケーションをデプロイします。 Java のバージョンとして Java 8 を選択し、ランタイム Web コンテナーとして Jbosseap 7.4 を選択します。

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

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

Note

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

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

Maven 成果物を作成したら、Azure App Service 用 Maven プラグインで deploy コマンドを実行して、アプリケーションを JBoss EAP にデプロイできます。

deploy コマンドにより、上記のプラグインの設定に基づいて、Azure リソース グループと JBoss EAP のインスタンスが作成されます。 この 1 つのコマンドで、インスタンスの作成から Java Web アプリケーションのデプロイまで、すべてのことが行われます。

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

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

アプリケーションは、データ ソースにバインドする必要があります。 前のユニットで作成した MySQL データベースを使用するように、アプリケーションを構成します。

JBoss EAP からデータベースに接続するには、DataSource オブジェクトを構成する必要があります。 DataSource オブジェクトを構成すると、アプリケーションでデータベースに接続できるようになります。

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

データ ソースの構成 value
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_8_0
User Name ${MYSQL_USER}
Password ${MYSQL_PASSWORD}
Minimum Pool Size 5
Maximum Pool Size 20
JDBC Class Name com.mysql.cj.jdbc.Driver

データ ソースには java:jboss/datasources/JPAWorldDataSource の JNDI (Java Naming and Directory Interface) 名を使用しました。 JNDI は、コードを変更することなく、複数の環境で別のデータベースに変更する場合に便利です。

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

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

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