AEM CLOUD MANAGERでのデプロイメント中にOSGi バンドル解決エラーが発生する
Adobe Experience Manager(AEM)Cloud Managerでは、デプロイメント中にOSGi バンドル解決エラーが発生すると、バンドルが非アクティブまたは未解決のままになり、サービスや機能が利用できなくなる可能性があります。 この問題は、必要なOSGi パッケージまたはバンドルが見つからないか、非アクティブであるか、デプロイメント後に互換性がない場合に発生します。 この問題を解決するには、未解決の依存関係を特定し、必要なバンドル、パッケージ、コードをデプロイされたAEM環境に合わせます。
説明 description
環境
- Adobe Experience Manager(AEM)Cloud Manager
症状
-
Cloud ManagerのOSGi バンドル解決フェーズで、デプロイメントが失敗します。
-
複数のOSGi バンドル(Granite UI、DAM、Campaign、Formsなど)が非アクティブまたは未解決のままになります。
-
エラーログには、パッケージの未解決の要件が表示されます。例:
org.apache.sling.scripting.jsp.utilcom.adobe.aem.dermis.api.bridge -
不足しているクラスの
ClassNotFoundExceptionなどのエラー。 -
スケジュールされたジョブが失敗し、レプリケーションテストのpingが
Connection refusedを返す場合があります。 -
デプロイメント後、AEM インスタンスが応答しなくなる可能性があります。
原因
OSGi パッケージの依存関係が解決されていないため、デプロイメントが失敗します。多くの場合、互換性のないバンドルまたはバンドルの欠落、不完全なアップグレード、AEM ベース、アドオン、カスタムコード間の不適切なパッケージ調整が原因です。
解決策 resolution
問題を解決するには、次の手順に従います。
-
ランタイムとパッケージの状態が検証されるまで、さらにデプロイメントを試みます。
-
未解決のOSGi パッケージの要件についてAEM error.logを確認し、非アクティブまたは未解決のバンドルを特定します。
-
失敗したデプロイメントと最後の正常なデプロイメントを比較します。
- AEM Web コンソール(System Console
>バンドル)を使用して、インストール済みのパッケージとバンドルのバージョンを確認します。 - 必要なバンドル(
org.apache.sling.scripting.jsp.utilを提供するバンドルなど)が存在し、Active状態にあることを確認します。 - コアとなるAEM、DAM、Campaign、Formsのバンドルがすべてアクティブであることを確認します。
- AEM Web コンソール(System Console
-
AEMの基本バージョン、Forms アドオン、サービスパック、および該当する修正プログラムが互換性があり、正しくインストールされていることを確認します。
-
最近のアップグレードまたはデプロイメントによってランタイム状態が変更された場合は、標準デプロイメントプロセス(Cloud ManagerやPackage Managerなど)を使用して、最後の正常なアーティファクトを復元または再デプロイします。
-
修正後、管理されたデプロイメントを実行します。
- コアバンドルとコンテンツパッケージを個別に順次展開することで、リスクを最小限に抑えます。
- 単一の手順であらゆるカスタムバンドルとコンテンツパッケージを一緒にデプロイするのは避けてください。
-
デプロイメント後、次のことを確認します。
org.apache.sling.scripting.jsp.utilを提供するバンドルが存在し、アクティブです。com.adobe.granite.ui.commonsとその他の影響を受けるバンドルがアクティブです。- OSGi Web コンソールに未解決のパッケージの読み込みは残りません。
- AEMと影響を受ける機能(Formsなど)はスモークテストに合格し、レスポンシブです。
-
解決されていないバンドルが修復後も保持される場合は、インスタンス全体を再起動してOSGi配線を更新するように計画します。