ヘッダーをスキップ
Oracle® Fusion Middleware WebCenter Sites管理者ガイド
11gリリース1 (11.1.1.8.0)
E49682-01
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次

前
 
次
 

29 inCacheによるアセットのキャッシング

WebCenter Sites inCacheフレームワークでは、デフォルトでアセットのキャッシングがサポートされています。アセットのキャッシングはカスタマイズできます。

この章は、次の項で構成されています。

29.1 アセットのキャッシングの概要

アセットのキャッシングは、インストール時とアップグレード時にWebCenter Sitesシステム上で有効になります。アセットのキャッシングは、inCacheフレームワーク上に構築された、メモリーをベースにしたシステムで、そのままではデータベースに影響を与えるような負荷を担うことによって、WebCenter Sitesのパフォーマンスを保護します。アセットのキャッシングにはAssetCacheコンテナという独自のコンテナが使用され、このコンテナは、他のinCacheコンポーネント(特にdependencyRepositoryキャッシュとnotifierキャッシュ)と相互に作用することによって機能します。

アセットのキャッシングについての説明を理解するには、まず第27章「inCacheフレームワーク」をよく読み、inCacheフレームワークの基本を理解するようにお薦めします。特に、ページ・キャッシングにおいて各キャッシュ・コンテナ(pageByQuerydependencyRepositoryおよびnotifier)が相互に関連して機能する仕組みについて理解するようにしてください。pageByQueryキャッシュはアセットのキャッシングには使用されませんが、キャッシュ・コンテナの動作状態を示す役割をしています。このコンテナの対になるAssetCacheコンテナも同じように機能します。また、アセットのキャッシングとinCacheのページ・キャッシングは、それぞれ独立して動作することにも注意してください。どちらのタイプのキャッシングも、相互に関係なく有効化または無効化できます。

この章の残りの部分では、AssetCacheコンテナ、アセットのロードと無効化に関連する機能、アセット・キャッシングとページ・キャッシングの比較、およびアセットのキャッシングをアセット・タイプによってカスタマイズする方法について説明します。

29.2 AssetCacheコンテナ

WebCenter Sitesでは、アセットのプログラム的な使用は、その属性のロードと読込みで構成されます。アセットは、WebCenter Sitesに格納されているテンプレートによってロードされるため、AssetCacheはWebCenter Sitesノードでのみ使用されます。

アセットのキャッシングとページのキャッシングは無関係に機能しますが、表29-1に示すように、様々なキャッシュを共有しています。

表29-1 アセットとページのキャッシングで使用されるキャッシュ・コンテナ

アセットのキャッシング機能 ページのキャッシング機能 AssetCacheコンテナ pageByQryコンテナ dependency Repositoryコンテナ notifierコンテナ

オフ

オフ

未使用

未使用

未使用

未使用

オフ

オン

未使用

ページのキャッシングで使用

ページのキャッシングで使用

ページのキャッシングで使用

オン

オフ

アセットのキャッシングで使用

未使用

アセットのキャッシングで使用

アセットのキャッシングで使用

オン

オン

アセットのキャッシングで使用

ページのキャッシングで使用

アセットのキャッシングとページのキャッシングで使用

アセットのキャッシングとページのキャッシングで使用


29.3 アセットのキャッシング操作

この項は、次のトピックで構成されています。

29.3.1 アセットのロード

アセットのデータは、APIまたはasset:loadタグを使用する複数の方法で読み込むことができます。

  • 次のAPIは、アセットをAssetCacheに、readonly-completeモードでロードします。

    • AssetDataManager.read(AssetId)

    • アセットに対するREST API GET

  • 次のタグは、アセットをAssetCacheに、様々なモードでロードします。

    • asset:load(objectid="cid1" option="editable")

    • asset:load(objectid="cid1" option="readonly")

    • asset:load(objectid="cid1" option="readonly-complete")

optionパラメータでは、アセットをキャッシュするかどうかと、AssetCacheおよびdependencyRepositoryでの、キャッシュされたアセットのキーの命名方法を決定します。キャッシングのシナリオを、図29-1にまとめます。シナリオDでは、AssetCacheコンテナに同じアセットの複数のエントリが存在しています。これは、アセットがreadonlyおよびread-only completeという2つのモードでロードできるためです。

次のモードでは、アセットをキャッシュするかどうかと、AssetCacheおよびdependencyRepositoryでの、キャッシュされたアセットのキーの命名方法が決定されます。このモードは、第29.3.1項「アセットのロード」にリストされているAPIやタグで定義されます。

図29-1 アセットのキャッシングのシナリオ

図29-1の説明が続きます
「図29-1 アセットのキャッシングのシナリオ」の説明

29.3.2 アセットのキャッシングとinCacheのページ・キャッシングの比較

図29-2に示すように、キャッシュされたアセットとページ、さらにそれぞれの依存性では、キーの名前が異なります。この違いを理解することは、(「管理」タブの「システム・ツール」ノードにある)キャッシュ管理ツールに表示されるキャッシング情報の解析に役立ちます。

図29-2 アセットのキャッシングとページ・キャッシングにおける依存性の命名規則

図29-2の説明が続きます
「図29-2 アセットのキャッシングとページ・キャッシングにおける依存性の命名規則」の説明

たとえば、図29-2には、AssetCacheコンテナ内のキャッシュされたアセットのキーの名前がassettype:cid1:2であることが示されています。名前の中の最後の整数は、アセットを読み取ったときのモードを表しています(2はreadonlyモード)。同じアセットをreadonly-completeモードでロードすると、キーはassettype:cid1:3になります。アセットが複数のモードでコールされた場合、AssetCacheコンテナにはそのアセットに対する複数のエントリが確認されます(図29-1を参照)。

キャッシュされたページのキーは、pagenameで始まります。ページにはモードは適用されず、ページのキャッシュは1度しか行われません。

アセットのロードのモードの詳細は、第29.3.1項「アセットのロード」を参照してください。キャッシュ管理ツールの詳細は、第30章「システム・ツール」を参照してください。

29.3.3 AssetCacheのフラッシュ

アセットは、次のAPIやタグ経由で保存された場合、AssetCacheからフラッシュすることができます。

  • API

    • REST API PUT

    • AssetDataManagerWrite

  • JSPタグ

    • asset:save

    • asset:saveall

    • asset:delete

    • asset:deleteassettype

    • asset:void

    • asset:rollback

    • asset:deleterevision

    • asset:undocheckout

    • insite:edit

  • XMLタグ

    • INSITE.EDIT

    • ASSET.VOID

    • ASSET.SAVE

    • ASSET.SAVEALL

    • ASSET.DELETE

29.4 アセットのキャッシングのタイプ

WebCenter Sitesノードでアセットのキャッシングを有効にすると、そのノードにあるcs-cache.xmlファイルには、次の<cache>エレメントのどれか1つ以上が格納されます。

汎用のAssetCacheコンテナは、1つまたは多数のタイプ固有のアセット・キャッシュと共存させることができます。または、それらによって置き換えることもできます。すべてのアセット・キャッシュのコンテンツは相互に排他的です。つまり、汎用のAssetCacheコンテナでは、タイプ固有のコンテナにキャッシュされているアセット・タイプは除外され、タイプ固有のコンテナでは、その他すべてのタイプのアセットが除外されます。

さらに、アセットのキャッシングが有効になっている場合、(「管理」タブの「システム・ツール」ノードにある)キャッシュ管理ツールには、AssetCacheコンテナのコンテンツ、dependencyRepository内の対応するエントリ、その他のタイプの情報を示すダイアログが表示されます。検索もサポートされます。

アセットのキャッシングの構成の詳細は、第29.5項「アセットのキャッシングのカスタマイズ」を参照してください。キャッシュ管理ツールの詳細は、第30章「システム・ツール」を参照してください。

29.5 アセットのキャッシングのカスタマイズ

次の手順は、タイプ固有のアセット・キャッシュの構成方法を示しています。

アセットのキャッシングを構成するには:

  1. WebCenter Sitesノードでデフォルトのアセットのキャッシングが有効になっている場合は、WebCenter Sitesノードのcs-cache.xmlファイルに次のエントリが表示されます。これは、すべてのタイプのアセットがAssetCacheという名前の汎用コンテナにキャッシュされることを指定するものです(name以外のパラメータは表28-1で定義されています)。

    <cache name="AssetCache"
       diskPersistent="true" maxElementsInMemory="100"
       maxElementsOnDisk="100" eternal="true"    
       overflowToDisk="true" diskSpoolBufferSizeMB="20"
       memoryStoreEvictionPolicy="LFU" clearOnFlush="false" />
    

    注意:

    汎用のAssetCacheコンテナを、1つまたは多数のタイプ固有のアセット・キャッシュと共存させるか、あるいはそれらによって置き換えることができる場合は、次のいずれかを実行することができます。

    • 汎用のAssetCacheコンテナを保持し、タイプ固有のコンテナを必要な数だけ追加することができます。すべてのタイプのアセットがキャッシュされます。独自のタイプ固有のコンテナがあるアセットは、それぞれの独自のコンテナに排他的にキャッシュされ、表28-1に示されているパラメータを使用することで、個別にチューニングすることができます。

    • 汎用のAssetCacheコンテナを、1つ以上のタイプ固有のコンテナで置き換えることができます。名前の付いたタイプのアセットのみがキャッシュされます。

    AssetCacheコンテナの作成数は、独自のコンテナ内に作成する必要のあるアセットのタイプと、適用する必要のあるチューニングによって異なります。構成情報は、次の手順で使用できます。


  2. 独自のコンテナ内の特定のタイプのアセットをキャッシュするには、そのアセット・タイプの<cache>エレメントを作成し、name="AssetCacheAsset_type_name"を設定します(カスタムの<cache>エレメント1つに対して1つのアセット・タイプのみがサポートされます)。表28-1に示されたパラメータを使用して、キャッシュを構成します。

    次に例を示します。

    <cache name="AssetCacheContent_C" 
       diskPersistent="true" maxElementsInMemory="100"  
       maxElementsOnDisk="100" eternal="true" 
       overflowToDisk="true" diskSpoolBufferSizeMB="20"
       memoryStoreEvictionPolicy="LFU" clearOnFlush="false" />
    

    この例では、name="AssetCacheContent_C"によってタイプ固有のAssetCacheコンテナが作成され、そこにはタイプがContent_Cのアセットのみが保持されます。汎用のAssetCacheコンテナも構成された場合、そこにはタイプがContent_Cのアセットはキャッシュされません。

29.6 アセットのキャッシングの無効化

アセットのキャッシングをサポートするようにinCacheフレームワークが設定されているときに、アセットのキャッシングを無効化する場合は、次の手順を実行します。

inCacheフレームワークの各WebCenter Sitesノードで、cs-cache.xmlファイル(WEB-INF/classes/ディレクトリにある)を開き、名前がAssetCacheで始まる<cache>エレメントを削除します。選択した<cache>エレメントを削除するか、すべての<cache>エレメントを削除することができます。それぞれのエレメントはAssetCacheコンテナを表しています。AssetCacheコンテナのタイプの詳細は、第29.4項「アセットのキャッシングのタイプ」を参照してください。

29.7 キャッシュ管理ツール

アセットのキャッシングを構成する場合、キャッシュ管理ツールには、AssetCacheコンテナのコンテンツ、それに対応するdependencyRepository内のエントリ、その他の情報を示すダイアログが表示されます。検索もサポートされます。キャッシュ管理ツールの詳細は、第30章「システム・ツール」を参照してください。