Wdrażanie aplikacji Jakarta EE w aplikacji JBoss EAP w usłudze Azure App Service
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.