Show Menu
トピック×

JCR 統合

JCR API よりも Sling リソース API を優先する

Sling API は、JCR API よりも高度な抽象レベルで機能します。これにより、コードの再利用性を高め、コードを基になるストレージから独立させることができます。したがって、必要に応じて ResourceProvider メカニズムを利用して外部の仮想データを含めることがより簡単になります。

可能な限りクエリを回避する

常に、クエリを実行するよりも、リポジトリ内を移動してデータを取得する方が速くなります。エンドユーザークエリやリポジトリ全体から構造化されたコンテンツを探す必要がある場合などクエリが必要になりますが、それ以外の場合は必要なノードに移動することをお勧めします。ナビゲーションコンポーネント、「最近のアイテムリスト」、アイテム数などのレンダリングロジックでは、クエリは常に避ける必要があります。 このような場合、階層をたどっていくか、レンダリング時に直接結果を使用できるように事前に結果をキャッシュに格納しておく方が効率的です。

JCR 監視の範囲を制限する

リポジトリでのイベントをリスンするときには、できる限り範囲を絞り込むことが重要です。For example, it is much better to listen for an event at /etc/mycompany than to listen at /etc . リポジトリのルートでイベントをリッスンしないでください。 また、コールバックメソッドが実行する必要がない場合は、できるだけ早くコールバックメソッドを実行するようにしてください。

JCR 管理者アクセスの使用を排除する

AEM 6 以降、ResourceResolverFactory からの管理セッションが廃止されているのと同様、管理ログインも廃止されています。代わりに、このタイプのアクセスを必要とするバックオフィス操作用にサービスアカウントを作成してください。ResourceResolverFactory を使用して、このアカウントの ResourceResolver を取得できます。