OSGi バンドルの不整合による1つのAEM パブリッシュインスタンスでのHTTP 500 エラーの解決
この記事では、OSGi バンドルが正常に解決されない場合や正常でない再起動の後にアクティブ化できない場合に、1つのAdobe Experience Manager(AEM)パブリッシュインスタンスで発生するHTTP 500 エラーを解決する方法について説明します。
説明 description
環境
Adobe Experience Manager(AEM)Managed Servicesのマルチインスタンスのパブリッシュデプロイメント(サポートされているすべてのバージョン)
問題/症状
- 1つの公開インスタンスは、複数のアプリケーション URLにわたってHTTP
500エラーを大量に返します。 - その他のパブリッシュインスタンスは、引き続きトラフィックを通常どおりに処理します。
- Java クラスを解決できないため、アプリケーションログに繰り返しHTL/Sightly コンパイルのエラーが表示されます。
- OSGi フレームワークのログは、必要なアプリケーションバンドルのバンドル解決エラーと未解決の依存関係を報告します。
原因
異常またはクリーンでない再起動では、影響を受けるパブリッシュインスタンスのOSGi フレームワークが一貫性のない状態のままになります。 必要なアプリケーションバンドルが解決およびアクティベートに失敗する。 その結果、HTL コンパイルに必要なクラスは使用できず、影響を受けるアプリケーション URLへのリクエストはHTTP 500 エラーを返します。
解決策 resolution
問題を解決するには、次の手順に従います。
-
影響を受けるパブリッシュインスタンスをロードバランサーのローテーションから削除して、これ以上の顧客への影響を防ぎます。
-
クリーンで制御されたプロセスを使用して、影響を受けるパブリッシュインスタンスを再起動または置き換えます。
-
インスタンスを再起動または置き換えた後、必要なすべてのOSGi バンドルが解決され、アクティブであることを確認します。
-
AEM System Console (通常は
/system/console/bundles)にアクセスし、すべてのバンドルが アクティブ 状態であることを確認します。 -
アプリケーションページがコンパイルエラーなしで正常にレンダリングされることを確認します。
-
それ以上のバンドル解決またはHTL コンパイルエラーについて、エラーログを監視します。
-
-
予防策として、計画的または計画外の再起動ごとに準備状況チェックを実施して、インスタンスをサービスに戻す前にすべてのバンドルがアクティブであることを確認します。