カスタムバンドル OSGi の新しいバージョンをインストールした場合に、設定が以前のバンドルにバインドされたままになり、新しい OSGi コンポーネントにバインドされません。

環境

AEM 6.2 以前のバージョン

原因

AEM 6.2 以前のバージョンでは、OSGi 設定は、PID が一致する OSGi コンポーネントにバインドされていました。  カスタムバンドルの古いバージョンをアンインストールした後、関連付けられている OSGi 設定をアンインストールしないまま新しいバージョンのバンドルをインストールすると、もはや存在しないバンドルに設定がバインドされたままになります。

解決策

この問題を回避するには、OSGi バンドルの新しいバージョンをインストールする前に以前のバージョンをアンインストールしないようにします。  以前のバージョンの上にバージョン番号が新しいコードパッケージをインストールしてください。

AEM の新しいバージョンに関する注意

AEM6.3 以降のバージョンでは、この問題は回避されます。  OSGi Declarative Services の新しい実装では、設定をコンポーネントに配布するときにバインドしません。  これは、リソースの消費を減らし、競合状態を回避することを目的としており、仕様に基づいています。  一般的に、設定のバインドは、OSGi の仕様の観点からはレガシーと見なされます。AEM 6.3 以降のバージョンでコンポーネントに設定があるかどうかを確認するには、コンポーネントのタブでコンポーネントを確認し、PID があるかどうかをチェックします。

本作品は Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License によってライセンス許可を受けています。  Twitter™ および Facebook の投稿には、Creative Commons の規約内容は適用されません。

法律上の注意   |   プライバシーポリシー