Problem

Nach dem Upgrade einer Instanz von 5.6.x auf 6.x nimmt AEM den Filedatastore-Speicherort nicht richtig auf und wird daher nicht erfolgreich gestartet. AEM meldet, dass Blobs nicht gefunden werden können und startet nicht erfolgreich. Beim Starten der Instanz über die Befehlszeile wird die Schnellstartdatei jedoch erfolgreich gestartet.

Umgebung

AEM 6.x

Ursache

Die Datei „RegisteredResourceList.ser“ ist beschädigt und lässt den Windows-Dienst nicht ordnungsgemäß funktionieren. Beim Öffnen von RegisteredResourceList.ser sehen Sie mehrere Instanzen von "Datei installieren". Im Idealfall wird jedoch nur eine Instanz erwartet. Es zeigt mehrere permanente Konfigurationen im Repository an, daher der Konflikt beim Start.

Lösung

  1. AEM beenden

  2. Laden Sie com.adobe.granite.tools.fileinstallertool-1.0.2.jar von [1] herunter und platzieren Sie es in den gleichen Ordner wie die AEM-JAR-Datei.

  3. Führen Sie den folgenden Befehl aus, um alle doppelten Einträge zu löschen und beschädigte Einträge zu korrigieren.

    java -jar com.adobe.granite.tools.fileinstallertool-1.0.2.jar
  4. An diesem Punkt tritt eines der folgenden zwei Szenarien auf:

    1. Sie erhalten die folgende Ausgabe, die das erfolgreiche Entfernen von doppelten Konfigurationen bestätigt. Sie können mit Schritt 5 fortfahren.

      Reading installer state from crx-quickstart/launchpad/installer/RegisteredResourceList.ser
      Processing installer state...
      - removing state for fileinstallad09f60708c0fb5aee04cdf46857bff9:/opt/AEM/6.2/Vanilla6.2/crx-quickstart/install/org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStoreService.config
      - removing state for fileinstallad09f60708c0fb5aee04cdf46857bff9:/opt/AEM/6.2/Vanilla6.2/crx-quickstart/install/org.apache.jackrabbit.oak.plugins.blob.datastore.FileDataStore.cfg
      Writing installer state
      Done
      
    2. Der folgende Output zeigt, dass es beim Lesen von „RegisteredResourceList.ser“ ein Problem gab und das Tool deshalb nicht geöffnet und ausgeführt werden konnte.

      Reading installer state from crx-quickstart/launchpad/installer/RegisteredResourceList.ser
      124 [main] WARN org.apache.sling.installer.core.impl.PersistentResourceList - Unable to restore data, starting with empty list (org.apache.sling.installer.core.impl.RegisteredResourceImpl)
      java.lang.ClassNotFoundException: org.apache.sling.installer.core.impl.RegisteredResourceImpl
           at org.apache.sling.installer.core.impl.RegisteredResourceImpl.readObject(RegisteredResourceImpl.java:124)
           at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
           at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
           at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
           at java.lang.reflect.Method.invoke(Method.java:498)
           at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1058)
           at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1909)
           at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1808)
           at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1353)
           at java.io.ObjectInputStream.readObject(ObjectInputStream.java:373)
           at org.apache.sling.installer.core.impl.EntityResourceList.readObject(EntityResourceList.java:104)
           at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
           at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
           at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
           at java.lang.reflect.Method.invoke(Method.java:498)
           at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1058)
           at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1909)
           at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1808)
           at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1353)
           at java.io.ObjectInputStream.readObject(ObjectInputStream.java:373)
           at java.util.HashMap.readObject(HashMap.java:1396)
           at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
           at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
           at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
           at java.lang.reflect.Method.invoke(Method.java:498)
           at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1058)
           at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1909)
           at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1808)
           at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1353)
           at java.io.ObjectInputStream.readObject(ObjectInputStream.java:373)
           at org.apache.sling.installer.core.impl.PersistentResourceList.<init>(PersistentResourceList.java:90)
           at com.adobe.granite.tools.FICleanup.main(FICleanup.java:196)
      Processing installer state...
      No fileinstall configuration found
      Done
      

      In diesem Fall führen Sie die folgenden Schritte aus:

      1. Beenden Sie die AEM-Instanz.

      2. Melden Sie den Windows-Dienst ab, bzw. löschen Sie ihn.

      3. Stellen Sie sicher, dass die Datei auf dem Pfad „/opt/AEM/6.2/Vanilla6.2/crx-quickstart/launchpad/config/org/apache/jackrabbit/oak/plugins/blob/datastore/Filedatastore.cfg“ den entsprechenden Inhalt hat, der dem des absoluten Pfads entspricht. Wenn dies nicht der Fall ist, löschen Sie die Datei.

      4. Stellen Sie sicher, dass die Datei auf dem Pfad „/opt/AEM/6.2/Vanilla6.2/crx-quickstart/launchpad/config/org/apache/jackrabbit/oak/plugins/segment/SegmentNodeStoreService.cfg“ den entsprechenden Inhalt hat, der dem des absoluten Pfads entspricht. Wenn dies nicht der Fall ist, löschen Sie die Datei.

      5. Gehen Sie zum „/crx-quickstart/launchpad/installer“-Verzeichnis und benennen Sie „RegisteredResourceList.ser“ zu „RegisteredResourceList.ser_old“ um.

      6. Bereinigen Sie die AEM-Serverprotokolle.

      7. Registrieren Sie den Windows-Dienst.

  5. Starten Sie AEM über den Windows-Dienst.

  6. Es wird erwartet, dass AEM jetzt erfolgreich mit den entsprechenden Konfigurationen startet. Prüfen Sie zur Überprüfung die Ausgabe von [2] und prüfen Sie, ob mehrere „fileinstall“ Pfade existieren.

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