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 アプリケーションにアクセスできるようになります。
次のユニットでは、ここで説明した手順を使用してサンプル アプリをデプロイします。