AEM Cloud環境全体でのOSGi設定の読み込みと継承の問題
Adobe Experience Manager as a Cloud Service(AEMaaCS)では、環境間で値が欠落したり、重複したり、一貫性がないように見える場合、OSGi設定の問題が発生します。 これは、厳格な実行モードベースの解決、Git駆動型のデプロイメント、ポッドレベルの設定の読み込みが原因で発生します。 この問題を解決するには、OSGi フォルダー構造を修正し、実行モードの命名を検証し、設定を再デプロイして、ポッド間で一貫した動作を確保します。
説明 description
環境
- Adobe Experience Manager as a Cloud Service (AEMaaCS)
- Adobe Managed Services(AMS)
問題/症状
- デプロイメント後、vDeveloper ConsoleにOSGi設定値が表示されません。
- 同じPIDの複数のインスタンスが表示されます。例えば、
com.day.cq.mailer.DefaultMailServiceはポッドごとに1つ表示されます。 - 設定は、実行モードに応じて、作成者にのみ読み込まれるか、公開時にのみ読み込まれます。
- プレビュー値は、デフォルトでは継承されますが、公開値と一致しません。
- 新しいDeveloper Console UIには古い値が表示され、クラシックビューには正しい値が表示されます。
根本原因
AEMaaCSは、必要なリポジトリパスの下にある厳密な実行モードベースのフォルダー命名を使用して、GitからOSGi設定を解決します。 誤ったフォルダー、誤った実行モード名、またはディープネスティングは、設定の検出を妨げます。 設定はSling JCR インストーラーを使用してポッドごとに読み込まれ、プレビューは公開値を継承します。 新しいDeveloper Console UIでは、既知の制限により、古い値が表示される場合があります。
解決策 resolution
次の手順に従って、OSGi設定の動作とデプロイメントを正しく行います。
- Git リポジトリに移動し、OSGi設定が
ui.config/src/main/content/jcr_root/apps/<project>/osgiconfigに保存されていることを確認します。 - 設定フォルダーが、
config.publish、config.publish.stage、config.author.devなどの正しい実行モードパターンに従っていることを確認してください。 - 詳細にネストされた設定フォルダー(
apps/project/test1/test2/config.authorなど)をapps/<project>/osgiconfig/config.<runmode>に移動して、検出を確実にします。 - ターゲット環境を特定し、最も特定の実行モード(例:
config.publish.stageオーバーライドconfig.publish)が適用されるようにします。 config.stg.publicなどの一致しない実行モードの名前を、config.publish.stageなどの有効なパターンに修正します。ui.configモジュールに関連付けられているCloud Manager パイプラインを実行して、設定変更をデプロイします。- 新しいUIに古いデータが表示される場合があるので、Developer Consoleのクラシックビューで設定値を確認します。
- すべての作成者または すべての発行者 の設定ビューを開き、値がポッドごとにグループ化されていることを確認します。
- 一時的なポッドレベルのドリフトが発生する可能性があるため、更新された値が1つのポッドにのみ表示される場合は、パイプラインを再デプロイします。
- プレビューがパブリッシュから値を継承するように、
config.preview.*フォルダーをすべて削除します。 - プレビュー固有の区別が必要な場合は、環境変数をサービスセットと共に使用してプレビューします。
- Gitから
.cfg.jsonファイルを削除し、パイプラインを再デプロイして設定を削除し、デフォルトにリセットします。 - 削除後も設定が維持される場合は、
filter.xmlにmode="replace"を追加します。 - 設定ファイルに必要なプロパティのみが含まれていることを確認し、未指定の値がデフォルトにフォールバックされるようにします。
- Developer Consoleのクラシックビューで、すべてのポッドですべての効果的な設定値が正しく表示されることを検証します。
エスカレーションするタイミング:
- フォルダー構造を検証してパイプラインを再デプロイした後、設定値は表示されません。
- 実行モードの解決では、フォルダー名が正しいにもかかわらず、想定される設定値が適用されません。
- 複数のデプロイメント後に更新された設定値を反映するポッドのみが一部あります。
- プレビュー固有の設定フォルダーを削除した後、プレビューは公開値を継承しません。
- ファイルを削除して再デプロイした後は、設定の削除は有効になりません。
- Sling インストーラーは、設定リソースを期待どおりに処理しません。
関連トピックス
recommendation-more-help
experience-cloud-kcs-help-kbarticles