Freigeben über


Behandlung von häufigen Problemen mit Exitcodes in Azure Spring Apps

Hinweis

Azure Spring Apps ist der neue Name für den Azure Spring Cloud-Dienst. Obwohl der Dienst umbenannt wurde, wird der alte Name noch an einigen Stellen verwendet, solange wir Ressourcen wie Screenshots, Videos und Diagramme aktualisieren.

Dieser Artikel bezieht sich auf: ✔️ Enterprise ✔️ Basic/Standard

In diesem Artikel werden Problembehandlungsmaßnahmen beschrieben, die Sie ergreifen können, wenn Ihre Anwendung in Azure Spring Apps mit einem Fehlercode beendet wird. Möglicherweise erhalten Sie einen Fehlercode, wenn Ihre Anwendungsbereitstellung nicht erfolgreich ist oder wenn die Anwendung während der Ausführung beendet wird.

Exitcodes

Der Exitcode gibt den Grund an, warum die Anwendung beendet wurde. In der folgenden Liste werden einige häufige Exitcodes beschrieben:

  • 0: Die Anwendung wurde beendet, weil sie bis zum Abschluss ausgeführt wurde. Aktualisieren Sie Ihre Serveranwendung so, dass sie kontinuierlich ausgeführt wird.

    Bereitgestellte Azure-Apps in Azure Spring Apps sollten Dienste kontinuierlich anbieten. Ein Exitcode von 0 gibt an, dass die Anwendung nicht kontinuierlich ausgeführt wird. Überprüfen Sie Ihre Protokolle und den Quellcode.

  • 1: Wenn die Anwendung mit einem Exitcode ungleich Null beendet wird, debuggen Sie den Code und verwandte Dienste, und stellen Sie die Anwendung dann erneut bereit.

    Berücksichtigen Sie die folgenden möglichen Ursachen für einen Exitcode ungleich Null:

    • Bei Ihrer Spring Boot-Konfiguration ist ein Fehler unterlaufen.

      Sie benötigen beispielsweise einen spring.db.url-Parameter, um eine Verbindung mit der Datenbank herzustellen, aber er wird in der Konfigurationsdatei nicht gefunden.

    • Sie werden von einem Drittanbieterdienst getrennt.

      Sie müssen beispielsweise eine Verbindung mit einem Redis-Dienst herstellen, aber der Dienst funktioniert nicht oder ist nicht verfügbar.

    • Sie verfügen über keinen ausreichenden Zugriff auf einen Drittanbieterdienst.

      Sie müssen beispielsweise eine Verbindung mit Azure Key Vault herstellen, um Zertifikate in Ihre Anwendung zu importieren, aber Ihre Anwendung verfügt nicht über die erforderlichen Berechtigungen, um darauf zuzugreifen.

    • Wenn Ihre Anwendung eine statische Datei oder eine dynamische Front-End-Anwendung auf einem Webserver ist, lesen Sie den Abschnitt Häufige Build- und Bereitstellungsfehler unter Bereitstellen von statischen Webdateien.

  • 137 – Die Anwendung wird sofort von der Hostingplattform ohne Nachfrist beendet. Dieser Beendigungscode kann das Ergebnis eines der folgenden Szenarien sein:

    • Wenn die Liveness-Prüfung fehlschlägt, beendet die Hostingplattform die Anwendung sofort nach dem Versuch, sie zu beenden und auf eine Nachfrist zu warten. Stellen Sie sicher, dass die Anwendung ordnungsgemäß heruntergefahren wird.

    • Die Anwendung wurde aufgrund eines Nichtspeicherfehlers beendet. Die Anwendung hat Ressourcen angefordert, die die Hostingplattform nicht bereitstellen konnte. Aktualisieren Sie die Java Virtual Machine (JVM)-Parameter Ihrer Anwendung, um die Ressourcennutzung einzuschränken oder Anwendungsressourcen zu skalieren.

      Wenn die Anwendung eine Java-Anwendung ist, überprüfen Sie die JVM-Parameterwerte. Möglicherweise überschreiten sie den Arbeitsspeichergrenzwert Ihrer Anwendung.

      Angenommen, Sie legen zum Beispiel den JVM-Parameter Xmx auf 10 GB fest, aber die Anwendung verwendet bis zu 5 GB Arbeitsspeicher. Verringern Sie den Xmx-Wert, oder erhöhen Sie den Arbeitsspeicher der Anwendung, um sicherzustellen, dass der Wert des Xmx-Parameters niedriger oder gleich dem Arbeitsspeichergrenzwert der Anwendung ist.

  • 143: Die Anwendung wurde beendet, weil sie aufgrund eines „Nicht genügend Arbeitsspeicher“-Fehlers oder eines anderen Fehlers nicht auf eine Integritätsprüfung reagiert hat.

    Dieser Fehlercode wird am häufigsten durch einen „Nicht genügend Arbeitsspeicher“-Fehler generiert. Weitere Informationen finden Sie unter App-Neustartprobleme wegen „Nicht genügend Arbeitsspeicher“-Problemen.

    Sie können auch Details aus dem Anwendungsprotokoll abrufen, indem Sie den Befehl "Azure CLI az spring app logs " verwenden. Weitere Informationen finden Sie unter Stream Azure Spring Apps-Anwendungskonsolenprotokolle in Echtzeit.

Nächste Schritte