Interrompi AEM.
Problema
Dopo aver aggiornato un'istanza da 5.6.x a 6.x, AEM non rileva correttamente la posizione del Filedatastore e quindi non si avvia con successo. AEM comunica di non essere in grado di trovare i BLOB e non si avvia con successo. Tuttavia, l'avvio dell'istanza attraverso la riga di comando e il file quickstart si avvia con successo.
Ambiente
AEM 6.x
Causa
Il file RegisteredResourceList.ser è corrotto e non permette al servizio Windows di funzionare correttamente. Aprendo il file RegisteredResourceList.ser, vengono visualizzate diverse istanze di "file install". Tuttavia, idealmente ci si aspetta una sola istanza. Mostra configurazioni multiple persistenti sull'archivio e quindi il conflitto all'avvio.
Risoluzione
-
-
Scarica com.adobe.granite.tools.fileinstallertool-1.0.2.jar da [1], e inseriscilo nella stessa cartella del file jar AEM.
-
Per eliminare tutte le voci duplicate e per risolvere eventuali voci corrotte, esegui il seguente comando.
java -jar com.adobe.granite.tools.fileinstallertool-1.0.2.jar
-
A questo punto, si verifica uno dei due scenari seguenti:
-
Si ottiene il seguente risultato, che conferma l'avvenuta rimozione delle configurazioni duplicate. Si può procedere al passaggio 5.
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
-
L'output sottostante, che mostra che c'è stato un problema di lettura del RegisteredResourceList.ser e quindi lo strumento non è riuscito ad aprirlo e funzionare opponendosi ad esso.
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 tal caso, segui questi passaggi:
-
Ferma l'istanza AEM.
-
De-registra/elimina il servizio Windows.
-
Assicurati che il file sul percorso /opt/AEM/6.2/Vanilla6.2/crx-quickstart/launchpad/config/org/apache/jackrabbit/oak/plugins/blob/datastore/Filedatastore.cfg abbia il contenuto appropriato, cioè i percorsi assoluti. In caso contrario, elimina il file.
-
Assicurati che il file sul percorso/opt/AEM/6.2/Vanilla6.2/crx-quickstart/launchpad/config/org/apache/jackrabbit/oak/plugins/segment/SegmentNodeStoreService.cfg abbia il contenuto appropriato, cioè i percorsi assoluti. In caso contrario, elimina il file.
-
Vai alla directory /crx-quickstart/launchpad/installer e rinomina la RegisteredResourceList.ser in RegisteredResourceList.ser_old.
-
Elimina i log del server AEM.
-
Registra il servizio Windows.
-
-
-
Avvia AEM attraverso il servizio Windows.
-
Ora AEM dovrebbe avviarsi con successo con le configurazioni appropriate. Per verificare, controlla il risultato di [2] e vedi se esistono più percorsi "fileinstall".
- [1] Vedi lo strumento jar fileinstaller: https://files.acrobat.com/a/preview/021e8221-f546-4b0b-962f-a87a68185f11.
- [2] http://aem-host:port/system/console/osgi-installer