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

Ukończone

W krokach w tej lekcji pokazano, jak wdrożyć aplikację Java EE w aplikacji JBoss EAP w usłudze Azure App Service oraz jak nawiązać połączenie z bazą danych. Faktycznie wykonasz te kroki w następnej jednostce.

Tworzenie aplikacji Java EE (Jakarta EE)

W tym module użyjesz przykładowej aplikacji Java EE przygotowanej z wyprzedzeniem i użyjesz następujących technologii:

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

Napiwek

Procedura wdrażania wprowadzona tutaj jest podobna dla większości aplikacji internetowych Java EE (Jakarta 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 łatwo skonfigurować następujące ustawienia dla wystąpienia usługi App Service:

Przedmioty 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 internetowego
pricingTier Wybór maszyny wirtualnej do uruchomienia
region Region do wdrożenia (w tej samej lokalizacji co lokalizacja instalacji programu MySQL)
runtime OS System operacyjny do uruchomienia (Linux)
runtime javaVersion Wersja maszyny wirtualnej Java dla kontenera internetowego (Java 8)
runtime webContainer Kontener internetowy (JBoss EAP 7)

W tym module wdrożysz aplikację w środowisku JBoss EAP. Wybierz Java 8 dla wersji języka Java i Jbosseap 7.4 dla kontenera internetowego środowiska uruchomieniowego.

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 Java EE w aplikacji JBoss EAP

Po utworzeniu artefaktu Maven możesz uruchomić polecenie deploy we wtyczce Maven dla Azure App Service, aby wdrożyć aplikację na JBoss EAP.

Polecenie deploy tworzy grupę zasobów platformy Azure i instancję JBoss EAP na podstawie poprzednich ustawień wtyczki. To jedno polecenie wykonuje wszystko, od tworzenia wystąpień do wdrażania aplikacji internetowej Java.

Pełną listę konfiguracji można znaleźć w dokumentacji referencyjnej wtyczki. Wszystkie wtyczki Usługi Azure Maven mają wspólny zestaw konfiguracji. W przypadku tych konfiguracji zobacz Common Configurations. Aby uzyskać informacje o konfiguracjach specyficznych dla usługi App Service, zobacz Azure Web App: Configuration Details.

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

Aplikacja będzie wymagać powiązania ze źródłem danych. Skonfigurujemy aplikację tak, aby korzystała z bazy danych MySQL utworzonej w poprzednich lekcjach.

Aby nawiązać połączenie z bazą danych z aplikacji JBoss EAP, musisz skonfigurować obiekt DataSource. Podczas konfigurowania obiektu DataSource aplikacja może nawiązać połączenie z bazą danych.

Skonfigurujesz DataSource, aby nawiązać połączenie z bazą danych Azure Database for MySQL, które utworzyłeś wcześniej przy użyciu następujących informacji:

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_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

Użyliśmy nazwy interfejsu Java Naming and Directory Interface (JNDI) java:jboss/datasources/JPAWorldDataSource 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żesz uzyskać dostęp do aplikacji Java EE przy użyciu przeglądarki internetowej lub polecenia curl.

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