Distribuire un'applicazione Jakarta EE in JBoss EAP nel servizio app di Azure
Questa unità descrive i passaggi per distribuire l'applicazione Jakarta EE in Red Hat JBoss Enterprise Application Platform (JBoss EAP) nel servizio app di Azure. Descrive anche come connettersi al database. Questi passaggi vengono effettivamente eseguiti nell'unità successiva.
Creare un'applicazione Jakarta EE
In questo modulo si usa un'applicazione Jakarta EE di esempio che usa le tecnologie seguenti:
- Jakarta EE 10
- JAX-RS 3.1
- JSON-B 3.0
- CDI 4.0
- JPA 3.1
Suggerimento
La procedura di distribuzione introdotta qui è simile alla procedura usata per la maggior parte delle applicazioni Web Jakarta EE.
Configurare il progetto dell'applicazione per la distribuzione in Azure usando Maven
Microsoft fornisce il plug-in Maven per il servizio app di Azure per distribuire le applicazioni Web Java nel servizio app di Azure. Usando questo plug-in Maven, è possibile configurare le impostazioni seguenti per l'istanza del servizio app:
| Impostazione | Descrizione |
|---|---|
subscriptionID |
Sottoscrizione di Azure per la distribuzione. |
resourceGroup |
Nome del gruppo di risorse in cui viene distribuito il contenitore Web. |
appName |
Nome dell'istanza dell'applicazione per il contenitore Web. |
pricingTier |
Selezione della macchina virtuale da usare. |
region |
Area in cui eseguire la distribuzione. In questo modulo si usa la stessa posizione del percorso di installazione di MySQL. |
runtime, OS |
Sistema operativo da usare. In questo modulo si usa Linux. |
runtime, javaVersion |
Versione della macchina virtuale Java per il contenitore Web. In questo modulo si usa Java 17. |
runtime, webContainer |
Contenitore Web. In questo modulo si usa Red Hat JBoss EAP 8. |
Compilare il pacchetto WAR
È possibile usare il ./mvnw package comando per compilare un pacchetto WAR (Web Application Archive).
Annotazioni
Facoltativamente, è possibile testare il pacchetto distribuendo in un ambiente JBoss EAP locale.
Distribuire l'app Jakarta EE su JBoss EAP
Dopo aver creato l'artefatto Maven, è possibile usare il deploy comando nel plug-in Maven per il servizio app di Azure per distribuire l'applicazione in JBoss EAP. Questo comando crea un gruppo di risorse di Azure e un'istanza di JBoss EAP in base alle impostazioni del plug-in precedenti. Questo comando esegue tutte le operazioni, dalla creazione di istanze alla distribuzione dell'applicazione Web Java.
Tutti i plug-in Azure Maven condividono un set comune di configurazioni. Per l'elenco completo delle configurazioni, vedere la documentazione di riferimento sul plug-in. Per altre informazioni, vedere Configurazione comune. Per altre informazioni sulle configurazioni specifiche del servizio app, vedere App Web di Azure: Dettagli configurazione.
Configurare una connessione di database usando un'origine dati e JNDI
L'applicazione richiede un'associazione a un'origine dati. Nell'unità successiva si configura l'applicazione per l'uso del database MySQL creato nell'unità precedente. Per connettersi al database da JBoss EAP, è necessario configurare un DataSource oggetto che consente a un'applicazione di connettersi al database.
Configurare DataSource per connettersi all'istanza di Database di Azure per MySQL creata in precedenza usando le impostazioni seguenti:
| Configurazione dell'origine dati | restituito |
|---|---|
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 |
Hai utilizzato un nome JNDI (Java Naming and Directory Interface) di java:jboss/datasources/JPAWorldDataSource per l'origine dati. JNDI è utile in più ambienti per passare a un database diverso senza modifiche al codice.
Accedere all'applicazione
Dopo aver configurato la connessione all'origine dati MySQL in JBoss EAP, è possibile accedere all'applicazione Jakarta EE usando un Web browser o il curl comando .
Nell'unità successiva si distribuisce l'app di esempio usando la procedura descritta qui.