Configuring command caching
Cacheable commands are stored in the cache for reuse with a similar mechanism for servlets and JavaServer Pages (JSP) files.
About this task
A unique cache ID can generate from the name of the command, plus the value of the symbol.
To use command caching you must:
Procedure
Create a command.
避免故障: For command caching to
operate properly, you must enable servlet caching.gotcha

Example
Cacheable commands are stored in the cache for reuse with
a similar mechanism for servlets and JavaServer Pages (JSP) files.
The following code examples illustrate how to use command caching for a simple stock quote command.
This code example illustrates a stock quote command bean. It accepts a ticker as an input parameter and produces a price as its output parameter:
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;};
}
This code example illustrates how to use the cache policy to cache the stock quote command object using the stock ticker as the cache key and a 60-second time-to-live:
<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>