コマンド・キャッシングの構成
キャッシュ可能なコマンドは、サーブレットおよび JavaServer Pages (JSP) ファイルの同様のメカニズムで再使用するために、キャッシュに保管されます。
このタスクについて
固有のキャッシュ ID は、コマンドの名前にその記号の値を加えたものから生成されます。
コマンド・キャッシング を使用するには、以下を行う必要があります。
手順
コマンドを作成します。
トラブルの回避 (Avoid trouble): コマンドのキャッシングが正常に動作するには、サーブレット・キャッシングを使用可能にする必要があります。gotcha

例
キャッシュ可能なコマンドは、サーブレットおよび JavaServer Pages (JSP) ファイルの同様のメカニズムで再使用するために、キャッシュに保管されます。
以下の コード例は、単純な株価情報コマンドに対してコマンド・キャッシングを使用する方法を 示します。
このコーディング例は、 株価情報コマンド Bean を示しています。これは、入力パラメーターとして ticker を受け取り、 出力パラメーターとして price を生成します。
public class QuoteCommand extends CacheableCommandImpl
{
private String ticker;
private double price;
// called to validate that command input parameters have been set
public boolean isReadyToCallExecute() {
return (ticker!=null);
}
// called by a cache-hit to copy output properties to this object
public void setOutputProperties(TargetableCommand fromCommand) {
QuoteCommand f = (QuoteCommand)fromCommand;
this.price = f.price;
}
// business logic method called when the stock price must be retrieved
public void performExecute()throws Exception {...}
//input parameters for the command
public void setTicker(String ticker) { this.ticker=ticker;}
public String getTicker() { return ticker;}
//output parameters for the command
public double getPrice() { return price;};
}
次のコード例は、 キャッシュ・キーに証券コード (ティッカー) を使用し、存続期間を 60 秒にして、株価情報コマンド・オブジェクトをキャッシュ に入れる場合に、どのようにキャッシュ・ポリシーを使用すればいいのかを示します。
<cache>
<cache-entry>
<class>command</class>
<sharing-policy>not-shared</sharing-policy>
<name>QuoteCommand</name>
<cache-id>
<component type="method" id="getTicker">
<required>true</required>
</component>
<priority>3</priority>
<timeout>60</timeout>
</cache-id>
</cache-entry>
</cache>