Udostępnij za pośrednictwem


Rozwiązywanie typowych problemów z kodem zakończenia w usłudze Azure Spring Apps

Uwaga

Plany Podstawowa, Standardowa i Enterprise zostaną wycofane od połowy marca 2025 r. z 3-letnim okresem emerytalnym. Zalecamy przejście do usługi Azure Container Apps. Aby uzyskać więcej informacji, zobacz ogłoszenie o wycofaniu usługi Azure Spring Apps.

Zużycie standardowe i dedykowany plan zostaną wycofane od 30 września 2024 r. z całkowitym zamknięciem po sześciu miesiącach. Zalecamy przejście do usługi Azure Container Apps. Aby uzyskać więcej informacji, zobacz Migrowanie użycia usługi Azure Spring Apps w warstwie Standardowa i dedykowanego planu do usługi Azure Container Apps.

Ten artykuł dotyczy:✅ Enterprise ✅ Basic/Standard

W tym artykule opisano akcje rozwiązywania problemów, które można wykonać, gdy aplikacja w usłudze Azure Spring Apps kończy działanie z kodem błędu. Jeśli wdrożenie aplikacji zakończy się niepowodzeniem, może zostać wyświetlony kod błędu lub gdy aplikacja zakończy działanie.

Kody zakończenia

Kod zakończenia wskazuje przyczynę zakończenia działania aplikacji. Poniższa lista zawiera opis niektórych typowych kodów zakończenia:

  • 0 — aplikacja została zakończona, ponieważ została uruchomiona do ukończenia. Zaktualizuj aplikację serwera, aby była uruchamiana w sposób ciągły.

    Wdrożone aplikacje platformy Azure w usłudze Azure Spring Apps powinny oferować usługi w sposób ciągły. Kod zakończenia 0 wskazuje, że aplikacja nie działa w sposób ciągły. Sprawdź dzienniki i kod źródłowy.

  • 1 — jeśli aplikacja kończy działanie z kodem zakończenia bez zera, debuguj kod i powiązane usługi, a następnie ponownie wdróż aplikację.

    Rozważ następujące możliwe przyczyny kodu zakończenia innego niż zero:

    • Wystąpił problem z konfiguracją platformy Spring Boot.

      Na przykład do nawiązania połączenia z bazą danych potrzebny jest parametr spring.db.url , ale nie można go znaleźć w pliku konfiguracji.

    • Odłączono Cię od usługi innej firmy.

      Na przykład musisz nawiązać połączenie z usługą Redis, ale usługa nie działa ani nie jest dostępna.

    • Nie masz wystarczającego dostępu do usługi innej firmy.

      Na przykład musisz nawiązać połączenie z usługą Azure Key Vault, aby zaimportować certyfikaty w aplikacji, ale aplikacja nie ma niezbędnych uprawnień dostępu do niego.

    • Jeśli aplikacja jest plikiem statycznym lub dynamiczną aplikacją frontonu obsługiwaną przez serwer internetowy, zobacz sekcję Typowe błędy kompilacji i wdrażania w temacie Wdrażanie internetowych plików statycznych.

  • 137 — Aplikacja zostanie natychmiast zakończona przez platformę hostingu bez okresu prolongaty. Ten kod zakończenia może być wynikiem jednego z następujących scenariuszy:

    • Gdy sprawdzanie aktywności zakończy się niepowodzeniem, platforma hostingu natychmiast zabija aplikację po próbie jej zakończenia i czeka na okres prolongaty. Upewnij się, że aplikacja obsługuje prawidłowe zamykanie.

    • Aplikacja została zakończona z powodu błędu braku pamięci. Aplikacja zażądała zasobów, których nie można podać na platformie hostingu. Zaktualizuj parametry maszyny wirtualnej Java (JVM) aplikacji, aby ograniczyć użycie zasobów lub skalować zasoby aplikacji w górę.

      Jeśli aplikacja jest aplikacją Java, sprawdź wartości parametrów JVM. Mogą one przekroczyć limit pamięci aplikacji.

      Załóżmy na przykład, że ustawisz parametr Xmx JVM na 10 GB, ale aplikacja używa do 5 GB pamięci. Zmniejsz wartość Xmx lub zwiększ pamięć aplikacji, aby upewnić się, że wartość parametru Xmx jest niższa lub równa limitowi pamięci aplikacji.

  • 143 — Aplikacja zakończyła działanie, ponieważ nie odpowiedziała na kontrolę kondycji z powodu błędu braku pamięci lub innego błędu.

    Ten kod błędu jest najczęściej generowany przez błąd braku pamięci. Aby uzyskać więcej informacji, zobacz Problemy z ponownym uruchamianiem aplikacji spowodowane problemami braku pamięci.

    Szczegółowe informacje można również uzyskać z dziennika aplikacji przy użyciu polecenia az spring app logs interfejsu wiersza polecenia platformy Azure. Aby uzyskać więcej informacji, zobacz Stream Azure Spring Apps application console logs in real time (Dzienniki konsoli aplikacji usługi Azure Spring Apps w czasie rzeczywistym).

Następne kroki