Hemsidan läses inte in med innehåll på Adobe Experience Manager
AEM as a Cloud Service skickar då och då en tom hemsida, vilket stör användarupplevelsen och utlöser larm om driftstopp. För tidig cachelagring, oinitierade tjänster eller återgivningsfel orsakar ofta detta problem. I den här artikeln beskrivs hur du åtgärdar det genom att justera cacheregler, granska uppvärmningsbeteenden och lägga till hälsokontroller för anpassade komponenter för att säkerställa tillförlitlig innehållsleverans.
Beskrivning description
Miljö
Problemet berör Adobe Experience Manager (AEM) as a Cloud Service - Sites, särskilt i produktionsmiljön.
Problem/symtom
Hemsidan läses ibland in utan innehåll, vilket ger en tom sida. Övervakningsverktygen genererar flera varningar som indikerar att sidan är inaktiv. Problemet åtgärdas inom 10-20 minuter men återkommer ofta. Under dessa perioder visar analysen avvikelser i sidstorlek och systemet visar cachelagrade versioner av den tomma sidan.
Upplösning resolution
Använd följande steg för att lösa problemet:
-
Konfigurera korrekta cacheminnesogiltighetsregler för att förhindra att inaktivt eller inkonsekvent innehåll hanteras. Inkludera
localhosteller127.0.0.1somServerAliasi din virtuella värdkonfiguration för att inaktivera dispatchern. Mer information finns i Förstå Dispatcher-cachelagring och Ovaliderade cachelagrade sidor från AEM. -
Inaktivera tillfälligt Warmup-tjänsten om den skickar begäranden innan alla tjänster initieras, vilket kan göra att ofullständiga sidor cachelagras.
-
Uppgradera till den senaste versionen av AEM för att använda felkorrigeringar som åtgärdar problem där återgivningsfel leder till cachelagrade null-värden.
-
Granska och uppdatera Sling-modeller i din kodbas (mer information finns i Skapa en Sling-modell för komponenten):
- Markera endast injektionerna som frivilliga när det behövs.
- Hantera null-värden explicit i koden för att undvika körningsundantag under initieringen.
-
Implementera OSGi-hälsokontroller för viktiga anpassade komponenter för att säkerställa att de initieras innan trafik:
code language-none { "hc.name": "Required Custom Components", "hc.tags": [ "systemalive", "systemready"] , "components.list": [ "com.example.core.services.impl.RenditionServiceImpl"] }Testa den här konfigurationen lokalt genom att gå till
/system/console/healthcheck?tags=systemreadyoch bekräfta att alla komponenter i listan returnerar statusen OK. Mer information finns i Konfigurera OSGi för AEM as a Cloud Service. -
Granska podloggar under start för att identifiera undantag relaterade till återgivningsfel eller oinitierade tjänster (t.ex.
NullPointerException). Åtgärda dessa problem genom att säkerställa korrekt injektion och initiering av beroenden. -
Testa alla förändringar i testmiljöer innan du distribuerar till produktionen för att minska risken för driftavbrott eller problem med cachning.
Dessa steg hjälper dig att förhindra återkommande avbrott på hemsidan och säkerställa enhetlig innehållsleverans genom att åtgärda grundorsaker som tjänstinitieringsfel och felkonfigurationer av cachelagring.