問題点

インスタンスを 5.6.x から 6.x にアップグレードした後は、AEM は Filedatastore の場所を正しく選択せず、よって正常に起動しません。AEM レポートは blobs を見つけられず、正常に起動できません。ただし、インスタンスをコマンドラインで起動しクイックスタートファイルが正常に起動します。

環境

AEM 6.x

原因

RegisteredResourceList.ser ファイルは破損状態であり、Windows サービスは正常に作動しません。RegisteredResourceList.ser を開くと、「ファイルインストール」の複数のインスタンスが表示されます。ただし、理想的なインスタンスは1つだけです。リポジトリ上に複数の構成が永続化され、起動時に競合が発生します。

解決策

  1. AEM を停止します。

  2. [1] から com.adobe.granite.tools.fileinstallertool-1.0.2.jar をダウンロードして、AEM Jar ファイルと同じフォルダーに配置します。

  3. 重複したエントリをすべて消去して、破損したエントリを修正するには、次のコマンドを実行します。

    java -jar com.adobe.granite.tools.fileinstallertool-1.0.2.jar
  4. この時点では、次の2つのシナリオのどちらかで発生します。

    1. 次の出力を取得すると、重複した構成を正常に削除することが確認できます。手順 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
      
    2. 以下の出力では、RegisteredResourceList.ser を読む際に問題が発生したことを示しています。そのため、ツールを開けず、そのファイルに対して実行できます。

      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
      

      その場合は、次の手順に従います。

      1. AEM インスタンスを停止します。

      2. Windows サービスの登録解除/削除。

      3. パス/opt/AEM/6.2/Vanilla6.2/crx-quickstart/launchpad/config/org/apache/jackrabbit/oak/plugins/blob/datastore/Filedatastore.cfg 上のファイルができ節なコンテンツであり、それが絶対パスであることを確認してください。そうでない場合、このファイルを削除してください。

      4. パス /opt/AEM/6.2/Vanilla6.2/crx-quickstart/launchpad/config/org/apache/jackrabbit/oak/plugins/segment/SegmentNodeStoreService.cfg 上のファイルが適切なコンテンツであり、それが絶対パスであることを確認してください。そうでない場合は、このファイルを削除してください。

      5. /crx-quickstart/launchpad/installer ディレクトリに移動し、the RegisteredResourceList.ser to RegisteredResourceList.ser_old. という名前に変更します。

      6. AEM サーバーログをクリアします。

      7. Windows サービスを登録します。

  5. Windows サービスを使用して AEM を起動します。

  6. AEM が適切な構成で正常に開始することが予想されます。検証するには、[2] の出力を確認し、複数の「fileinstall」パスがあるかどうかを確認します。

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

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