Behandlung von häufigen Problemen mit Exitcodes in Azure Spring Apps
Hinweis
Die Pläne Basic, Standard und Enterprise gelten ab Mitte März 2025 als veraltet und werden über einen Zeitraum von 3 Jahren eingestellt. Es wird empfohlen, auf Azure Container Apps umzustellen. Weitere Informationen finden Sie in der Ankündigung zur Einstellung von Azure Spring Apps.
Der Standardverbrauchs- und dedizierte Plan wird ab dem 30. September 2024 als veraltet gekennzeichnet und nach sechs Monaten vollständig eingestellt. Es wird empfohlen, auf Azure Container Apps umzustellen. Weitere Informationen finden Sie unter Migrieren vom Standardverbrauchs- und dedizierten Plan von Azure Spring Apps zu Azure Container Apps.
Dieser Artikel gilt für: ✔️ 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 von der Hostingplattform sofort ohne Karenzzeit beendet. Dieser Exitcode kann das Ergebnis eines der folgenden Szenarien sein:
Wenn die Aktivitätsüberprüfung fehlschlägt, erzwingt Hostingplattform das Beenden der Anwendung sofort nach dem Versuch, sie zu beenden und auf eine Karenzzeit zu warten. Stellen Sie sicher, dass die Anwendung ordnungsgemäß heruntergefahren wird.
Die Anwendung wurde aufgrund eines „Nicht genügend Arbeitsspeicher“-Fehlers 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 hochzuskalieren.
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.
Details finden Sie auch im Anwendungsprotokoll mithilfe des Azure CLI-Befehls az spring app logs. Weitere Informationen finden Sie unter Streamen von Azure Spring Apps-Anwendungskonsolenprotokollen in Echtzeit.