Wdrażanie aplikacji Jakarta EE w aplikacji JBoss EAP w usłudze Azure App Service

Ukończone

W tej lekcji opisano kroki wdrażania aplikacji Jakarta EE na platformie Red Hat JBoss Enterprise Application Platform (JBoss EAP) w usłudze Azure App Service. Opisano w nim również sposób nawiązywania połączenia z bazą danych. Rzeczywiście wykonujesz te kroki w następnej jednostce.

Tworzenie aplikacji Jakarta EE

W tym module użyjesz przykładowej aplikacji Jakarta EE, która korzysta z następujących technologii:

  • Dżakarta EE 10
  • JAX-RS 3.1
  • JSON-B 3.0
  • CDI 4.0
  • JPA 3.1

Napiwek

Wprowadzona tutaj procedura wdrażania jest podobna do procedury używanej w większości aplikacji internetowych Dżakarta EE.

Konfigurowanie projektu aplikacji na potrzeby wdrażania na platformie Azure przy użyciu narzędzia Maven

Firma Microsoft udostępnia wtyczkę Maven dla usługi Azure App Service w celu wdrożenia aplikacji internetowych Java w usłudze Azure App Service. Korzystając z tej wtyczki Maven, można skonfigurować następujące ustawienia dla usługi App Service:

Ustawienia Opis
subscriptionID Subskrypcja platformy Azure do wdrożenia.
resourceGroup Nazwa grupy zasobów, w której wdrożono kontener internetowy.
appName Nazwa wystąpienia aplikacji dla kontenera webowego.
pricingTier Wybór maszyny wirtualnej do użycia.
region Region do wdrożenia. W tym module użyjesz tej samej lokalizacji co lokalizacja instalacji programu MySQL.
runtime, OS System operacyjny do użycia. W tym module użyjesz Linux.
runtime, javaVersion Wersja maszyny wirtualnej Java dla kontenera internetowego. W tym module używasz Java 17.
runtime, webContainer Kontener internetowy. W tym module użyjesz Red Hat JBoss EAP 8.

Kompilowanie pakietu WAR

Za pomocą polecenia ./mvnw package można utworzyć pakiet Archiwum aplikacji internetowej (WAR).

Notatka

Opcjonalnie możesz przetestować pakiet, wdrażając go w lokalnym środowisku JBoss EAP.

Wdrażanie aplikacji Jakarta EE w aplikacji JBoss EAP

Po utworzeniu artefaktu Maven możesz użyć polecenia deploy we wtyczce Maven dla usługi Azure App Service, aby wdrożyć aplikację do JBoss EAP. To polecenie tworzy grupę zasobów usługi Azure i instancję JBoss EAP na podstawie wcześniejszych ustawień wtyczki. To jedno polecenie wykonuje wszystko, od tworzenia wystąpień do wdrażania aplikacji internetowej Java.

Wszystkie wtyczki Usługi Azure Maven mają wspólny zestaw konfiguracji. Pełną listę konfiguracji można znaleźć w dokumentacji referencyjnej dotyczącej wtyczek. Aby uzyskać więcej informacji, zobacz Common Configuration (Wspólna konfiguracja). Aby uzyskać więcej informacji na temat konfiguracji specyficznych dla usługi App Service, zobacz Azure Web App: Configuration Details (Aplikacja internetowa platformy Azure: szczegóły konfiguracji).

Konfigurowanie połączenia z bazą danych przy użyciu źródła danych i JNDI

Aplikacja wymaga powiązania ze źródłem danych. W następnej lekcji skonfigurujesz aplikację tak, aby korzystała z bazy danych MySQL utworzonej w poprzedniej lekcji. Aby nawiązać połączenie z bazą danych z aplikacji JBoss EAP, należy skonfigurować DataSource obiekt, który umożliwia aplikacji łączenie się z bazą danych.

Skonfiguruj DataSource w celu nawiązania połączenia z wcześniej utworzonym wystąpieniem Azure Database for MySQL przy użyciu następujących ustawień:

Konfiguracja źródła danych wartość
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

Użyto nazwy java:jboss/datasources/JPAWorldDataSource Java Naming and Directory Interface (JNDI) dla źródła danych. Interfejs JNDI jest przydatny w wielu środowiskach, aby zmienić bazę danych na inną bez zmian w kodzie.

Uzyskiwanie dostępu do aplikacji

Po skonfigurowaniu połączenia ze źródłem danych MySQL w aplikacji JBoss EAP można uzyskać dostęp do aplikacji Jakarta EE przy użyciu przeglądarki internetowej lub curl polecenia.

W następnej lekcji wdrożysz przykładową aplikację, korzystając z procedury opisanej tutaj.