WebSphere Application Server, Version 6.0.x   
             オペレーティング・システム: AIX , HP-UX, Linux, Solaris, Windows

             目次と検索結果のパーソナライズ化

例: 動的キャッシュ・サービスの構成

この例は、cachespec.xml ファイルを使用して動的キャッシュ・サービスを構成するためのすべてのステップをまとめたもので、 キャッシュ ID 生成規則、依存関係 ID、および無効化規則の使用について示します。

サーブレットが簡単なニュース・サイトを管理していると仮定します。このサーブレットは、照会パラメーター「action」を使用して、 その要求がニュースを表示 (照会パラメーター「view」)、あるいはニュースを更新 (照会パラメーター「update」) するのかを判別します (管理者が使用)。 別の照会パラメーター「category」を使用して、ニュースのカテゴリー を選択します。 このサイトでは、 オプションのカスタマイズされたレイアウトがサポートされており、 これは、「layout」という属性名を使用して、 ユーザーのセッションに保管されているものとします。 このサーブレットに対する URL 要求例は、以下のとおりです。

http://yourhost/yourwebapp/newscontroller?action=view&category=sports (スポーツ・カテゴリーのニュース・ページを戻す)

http://yourhost/yourwebapp/newscontroller?action=view&category=money (金融カテゴリーのニュース・ページを戻す)

http://yourhost/yourwebapp/newscontroller?action=update&category=fashion (管理者がファッション・カテゴリーのニュースを更新できるようにする)

cachespec.xml ファイルを使用して、この例の動的キャッシュ・サービスを構成するためのステップは以下のとおりです。

  1. サーブレットの識別に必要な <cache-entry> エレメントを定義します。 この場合、サーブレットの URI は「newscontroller」であり、これがキャッシュ・エントリーの <name> エレメントになります。この例では、サーブレットまたは JavaServer Pages (JSP) ファイルをキャッシュしているので、キャッシュ・エントリーのクラ スは「servlet」です。
    <cache-entry>
    <name> /newscontroller </name>
    <class>servlet</class>
     </cache-entry>
  2. キャッシュ ID 生成規則を定義します。 このサーブレットは、action=view のときにのみキャッシュするため、値が「view」に等しいときは、キャッシュ ID の 1 つのコンポーネントはパラメーター「action」ということになります。 ニュース・カテゴリーは、キャッシュ ID の不可欠な部分でもあります。 ユーザーのレイアウトに関するオプションのセッション属性は、 キャッシュ ID に組み込まれます。 ここでキャッシュ・エントリーは以下のとおりです。
    <cache-entry>
    	<name> /newscontroller </name>
    	<class>servlet  </class>
     	<cache-id>
    			<component id="action" type="parameter">
    				<value>view</value>
    			<required>true</required>
    		</component>
    		<component id="category" type="parameter">
    			<required>true</required>
    		</component>
    			<component id="layout" type="session">
    				<required>false</required>
    		</component>
    	</cache-id>
    </cache-entry>
  3. 依存関係 ID 規則を定義します。 このサーブレットの場合、依存関係 ID がカテゴリーに追加されます。 後で、カテゴリーが更新イベントのために無効になったときに、 ニュース・カテゴリーのすべてのビューは無効になります。 依存関係 ID を追加後のキャッシュ・エントリーの例を以下に示します。
    <cache-entry>
    	<name>newscontroller </name>
    	<class>servlet  </class>
     	<cache-id>
    			<component id="action" type="parameter">
    				<value>view</value>
    			<required>true</required>
    		</component>
    		<component id="category" type="parameter">
    			<required>true</required>
    		</component>
    			<component id="layout" type="session">
    				<required>false</required>
    		</component>
    	</cache-id>
    	<dependency-id>category
    		<component id="category" type="parameter">
    			<required>true</required>
    		</component>
    	</dependency-id>
    </cache-entry>
  4. 無効化規則を定義します。 カテゴリー依存関係 ID がすでに定義されているので、 action=update の場合にカテゴリーを無効にする無効化規則を定義します。 条件ロジックを取り込むには、 無効化規則に "ignore-value" コンポーネントを追加します。 これらのコンポーネントは、無効化 ID の出力を追加するのではなく、 無効化 ID を作成して実行するのかどうかのみを決定します。 最終的なキャッシュ・エントリーは以下のようになります。
    <cache-entry>
    	<name>newscontroller </name>
    	<class>servlet  </class>
     	<cache-id>
    			<component id="action" type="parameter">
    				<value>view</value>
    			<required>true</required>
    		</component>
    		<component id="category" type="parameter">
    			<required>true</required>
    		</component>
    			<component id="layout" type="session">
    				<required>false</required>
    		</component>
    	</cache-id>
    	<dependency-id>category
    		<component id="category" type="parameter">
    			<required>true</required>
    		</component>
    	</dependency-id>
    	<invalidation>category
    		<component id="action" type="parameter" ignore-value="true">
    			<value>update</value>
    			<required>true</required>
    		</component>
    		<component id="category" type="parameter">
    			<required>true</required>
         </component>
    	</invalidation>
    </cache-entry>



関連タスク
タスクの概説: 動的キャッシュ・サービスの使用によるパフォーマンスの向上
サーブレット・キャッシングの構成
キャッシュ可能ページの検査
参照トピック    

ご利用条件 | フィードバック

最終更新: Jan 22, 2008 12:07:38 AM EST
http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/com.ibm.websphere.base.doc/info/aes/ae/rdyn_configxmp.html