Wenn Sie eine neue Version eines benutzerdefinierten OSGi-Bundles installieren, bleiben die Konfigurationen an das alte Bundle gebunden und werden nicht an die neuen OSGi-Komponenten gebunden.

Umgebung

AEM 6.2 und frühere Versionen

Ursache

In AEM 6.2 und früheren Versionen wurden OSGi-Konfigurationen an die OSGi-Komponente mit einer übereinstimmenden PID gebunden.  Wenn Sie eine ältere Version eines benutzerdefinierten Bundles, aber nicht die zugehörigen OSGi-Konfigurationen deinstallieren und dann eine neuere Version des Bundles installieren, bleiben die Konfigurationen an das nicht mehr existierende Bundle gebunden.

Lösung

Um dieses Problem zu vermeiden, deinstallieren Sie die ältere Version des OSGi-Bundles nicht, bevor Sie eine neuere Version installieren.  Installieren Sie das neuere Code-Paket mit der höheren Versionsnummer über das alte.

Hinweis für neuere AEM-Versionen

In AEM6.3 und in späteren AEM-Versionen wird dieses Problem vermeiden.  Neuere Implementierungen der Declarative Services von OSGi binden keine Konfigurationen mehr, wenn sie sie an eine Komponente liefern.  Dies dient der Reduzierung des Ressourcenverbrauchs und der Vermeidung von Wettlaufsituationen und steht im Einklang mit der Spezifikation.  Im Allgemeinen wird die Konfigurationsbindung aus Sicht der OSGi-Spezifikation als veraltet angesehen. Wenn Sie in AEM 6.3 und späteren Versionen wissen möchten, ob Ihre Komponente eine Konfiguration erhalten hat, können Sie auf die Registerkarte Komponenten gehen, sich eine Komponente ansehen und feststellen, ob sie eine PID besitzt.

Dieses Werk unterliegt den Bedingungen der Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.  Twitter™- und Facebook-Beiträge fallen nicht unter die Bedingungen der Creative Commons-Lizenz.

Rechtliche Hinweise   |   Online-Datenschutzrichtlinie