Example: Caching a command object

 

Example: Caching a command object

This example of command caching is a simple stock quote command.

Example

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;};
}

Example

<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>



Related tasks
Configuring command caching



Searchable topic ID: rdyn_commandxmp