破損したバージョン履歴が原因で、CQ 操作が正常に実行されません。

矛盾のあるバージョン履歴は、レプリケーション、バージョンの復元、パッケージのインストールを含む、多くの CQ 操作が正常に実行されない可能性があります。

バージョン履歴が破損されている場合、ログファイルの例外 org.apache.jackrabbit.core.state.NoSuchItemStateException を参照してください。また、パッケージ org.apache.jackrabbit.core.version からスタックトレースクラスの同じことを確認できます。

解決策

システムパラメーター「org.apache.jackrabbit.version.recovery:」を使用

パラメータを適用するには、次の操作を行います。

  1. 最新の CRX2.2 ホットフィックスをインストールします。サポートチケットを送信することで、最新のホットフィックスをリクエストできます。ホットフィックスインストール手順に従って、それをインストール後に、CQ を再起動する必要があります。
  2. CQ/CRX を停止します。
  3. jvm parameter を startup script に追加します。-Dorg.apache.jackrabbit.version.recovery=true
  4. CQ/CRX を起動します。
  5. java プロセスステータス(例、ps -ef | grep java)を確認して、新しいパラメーターが使用されていることを確認します。
この機能を有効にすると、レポジトリ内のすべてのバージョンノードが検索され、各バージョン履歴が存在するかどうか確認されます。

その事例ではない場合、回復手順では、バージョンストアへの破損参照が削除されます。特に mix:versionable mixin と jcr:versionHistoryjcr:baseVersionjcr:predecessors および jcr:isCheckedOut のプロパティ。リクエストされた時に、レポジトリがノードのための新しいバージョングラフを作成することを可能にします。

存在しないノードがルートレベルにある場合、バージョンワークスペースの矛盾は修復できません。その場合は、新しいバージョンのデータセットから開始する必要があります。バージョンの前のデータを取得することだけで、バックアップを使用することができます。そのあと、バージョンが復元されるとパッケージを使用できます。
 
(起動時に自動的に再作成される)バージョンフォルダーを削除する必要がある場合、あなたが持っている1つの重要なコンテンツは、ワークフローモードです。そのあと、(上記の jvm parameter)を再起動した後、ワークフローモデルをそのバージョンに戻すパッケージをインストールできます。完了していないどのワーフフローでも、バージョン情報がワークフローインスタンスにリンクされていると、さらに処理できません。(ワークフローインスタンスノードに関連するプロパティを参照。)そのモデルバージョンが見つからない場合は、処理を継続できません(手動で修正する必要があります)。
 
以下の手順を完了する前に、すべてのワークフローが完了していることを確認してください。(実行中のインスタンスがある場合は、ワークフローインスタンスモデルバージョンを、新しいバージョンにリセットするためには、カスタムスクリプト使用し、特別なアクションが必要です)。
  1. インスタンスを停止します。
  2. version フォルダーと repository/repository/index フォルダーを削除します。
  3. (オプション)Tar workspace.xml Manager データの crx.default workspace.xml で、一貫性/チェック修正を追加します。
  4. Dorg.apache.jackrabbit.version.recovery=true を追加します。
  5. インスタンスを開始します(データサイズ、I/ O のパフォーマンスによって、数時間或いは数日間かかるので、まずはコピーでてすとします。
  6. インスタンスが準備完了したら、/etc/workflow/models からパッケージを作成します。
  7. (CRXDE または CRX Explorer を使用して)/etc/worflow/models を削除します。
  8. 作成したパッケージをインストールし、ワークフローモデルを再作成します。

注意:CRX2.2以降では、パラメーターは次の記事で不整合がないように説明しています。

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

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