Condividi tramite


Risolvere i problemi comuni relativi al codice di uscita in Azure Spring Apps

Nota

Azure Spring Apps è il nuovo nome del servizio Azure Spring Cloud. Anche se il servizio ha un nuovo nome, il nome precedente verrà visualizzato in alcune posizioni per un po' mentre si lavora per aggiornare gli asset, ad esempio screenshot, video e diagrammi.

Questo articolo si applica a: ✔️ Enterprise ✔️ Basic/Standard

Questo articolo descrive le azioni di risoluzione dei problemi che è possibile eseguire quando l'applicazione in Azure Spring Apps viene chiusa con un codice di errore. È possibile che venga visualizzato un codice di errore se la distribuzione dell'applicazione non riesce o se l'applicazione viene chiusa quando è in esecuzione.

Codici di uscita

Il codice di uscita indica il motivo per cui l'applicazione è stata terminata. L'elenco seguente descrive alcuni codici di uscita comuni:

  • 0 : l'applicazione è stata chiusa perché è stata completata. Aggiornare l'applicazione server in modo che venga eseguita continuamente.

    Le app di Azure distribuite in App Spring di Azure devono offrire servizi in modo continuo. Un codice di uscita pari a 0 indica che l'applicazione non è in esecuzione continuamente. Controllare i log e il codice sorgente.

  • 1 - Se l'applicazione viene chiusa con un codice di uscita diverso da zero, eseguire il debug del codice e dei servizi correlati e quindi distribuire nuovamente l'applicazione.

    Considerare le possibili cause seguenti di un codice di uscita diverso da zero:

    • Si è verificato un problema con la configurazione di Spring Boot.

      Ad esempio, è necessario un parametro spring.db.url per connettersi al database, ma non viene trovato nel file di configurazione.

    • Si è disconnessi da un servizio di terze parti.

      Ad esempio, è necessario connettersi a un servizio Redis, ma il servizio non funziona o non è disponibile.

    • Non si ha accesso sufficiente a un servizio di terze parti.

      Ad esempio, è necessario connettersi ad Azure Key Vault per importare i certificati nell'applicazione, ma l'applicazione non dispone delle autorizzazioni necessarie per accedervi.

    • Se l'applicazione è un file statico o un'applicazione front-end dinamica servita da un server Web, vedere la sezione Errori comuni di compilazione e distribuzione di Deploy Web static files (Distribuire file statici Web).

  • 137 - L'applicazione viene terminata immediatamente dalla piattaforma di hosting senza un periodo di tolleranza. Questo codice di uscita può essere il risultato di uno degli scenari seguenti:

    • Quando il controllo dell'attività ha esito negativo, la piattaforma host termina immediatamente l'applicazione dopo aver tentato di terminarla e attendere un periodo di tolleranza. Assicurarsi che l'applicazione gestisca correttamente l'arresto normale.

    • L'applicazione è stata chiusa a causa di un errore di memoria insufficiente. L'applicazione ha richiesto risorse che la piattaforma di hosting non è riuscita a fornire. Aggiornare i parametri Java Virtual Machine (JVM) dell'applicazione per limitare l'utilizzo delle risorse o aumentare le risorse dell'applicazione.

      Se l'applicazione è un'applicazione Java, controllare i valori dei parametri JVM. Possono superare il limite di memoria dell'applicazione.

      Si supponga, ad esempio, di impostare il parametro Xmx JVM su 10 GB, ma l'applicazione usa fino a 5 GB di memoria. Ridurre il valore Xmx o aumentare la memoria dell'applicazione per assicurarsi che il valore del parametro Xmx sia inferiore o uguale al limite di memoria dell'applicazione.

  • 143 - L'applicazione è stata chiusa perché non è riuscita a rispondere a un controllo di integrità a causa di un errore di memoria insufficiente o di un altro errore.

    Questo codice di errore viene spesso generato da un errore di memoria insufficiente. Per altre informazioni, vedere Problemi di riavvio delle app causati da problemi di memoria insufficiente.

    È anche possibile ottenere dettagli dal log applicazioni usando il comando az spring app logs dell'interfaccia della riga di comando di Azure. Per altre informazioni, vedere Trasmettere i log della console delle applicazioni di Azure Spring Apps in tempo reale.

Passaggi successivi