Risoluzione degli errori HTTP 500 in una singola istanza AEM Publish a causa di incoerenza del bundle OSGi
Questo articolo spiega come risolvere gli errori HTTP 500 che si verificano in una singola istanza Publish di Adobe Experience Manager (AEM) quando i bundle OSGi non vengono risolti e attivati correttamente a seguito di un riavvio anomalo o non pulito.
Descrizione description
Ambiente
Distribuzione di pubblicazione a più istanze di Adobe Experience Manager (AEM) Managed Services (tutte le versioni supportate)
Problema/Sintomi
- Un’istanza Publish restituisce un numero elevato di errori HTTP
500in più URL dell’applicazione. - Altre istanze di pubblicazione continuano a distribuire il traffico normalmente.
- I registri dell’applicazione mostrano errori di compilazione HTL/Sightly ripetuti perché non è possibile risolvere le classi Java.
- I registri del framework OSGi segnalano gli errori di risoluzione del bundle e le dipendenze non risolte per i bundle di applicazioni richiesti.
Causa
Un riavvio anomalo o non pulito lascia il framework OSGi sull’istanza Publish interessata in uno stato incoerente. Impossibile risolvere e attivare i bundle di applicazioni richiesti. Di conseguenza, le classi necessarie per la compilazione HTL non sono disponibili e le richieste agli URL dell’applicazione interessati restituiscono errori HTTP 500.
Risoluzione resolution
Per risolvere il problema, segui la procedura riportata di seguito.
-
Rimuovi l’istanza Publish interessata dalla rotazione del load balancer per evitare un ulteriore impatto sui clienti.
-
Riavvia o sostituisci l’istanza Publish interessata utilizzando un processo pulito e controllato.
-
Dopo aver riavviato o sostituito l’istanza, verifica che tutti i bundle OSGi richiesti siano risolti e attivi:
-
Accedi alla console di sistema di AEM (in genere alle
/system/console/bundles) e verifica che tutti i bundle siano nello stato Attivo. -
Verificare che il rendering delle pagine dell’applicazione sia stato eseguito senza errori di compilazione.
-
Monitora i registri di errore per individuare eventuali ulteriori errori di risoluzione bundle o compilazione HTL.
-
-
Come misura preventiva, implementa un controllo di fattibilità dopo ogni riavvio pianificato o non pianificato per garantire che tutti i bundle siano attivi prima di restituire l’istanza al servizio.