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

この例は、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」であり、これが cache-entry の <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>

トピックのタイプを示すアイコン 参照トピック



タイム・スタンプ・アイコン 最終更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rdyn_configxmp
ファイル名:rdyn_configxmp.html