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

In this case, however, the unique cache IDs are generated based on methods and fields present in the command as input parameters. For example, a GetStockQuote command can have a symbol as its input parameter.

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.
  1. Define an interface.
    The Command interface specifies the most basic aspects of a command.

    You must define the interface that extends one or more of the interfaces in the command package. The command package consists of three interfaces:

    • TargetableCommand
    • CompensableCommand
    • CacheableCommand
    In practice, most commands implement the TargetableCommand interface, which allows the command to run remotely. The code structure of a command interface for a targetable command follows:
    ...
    import com.ibm.websphere.command.*;
    public interface MyCommand extends TargetableCommand { 
          // Declare application methods here
    }
  2. Provide an implementation class for the interface.
    Write an interface that extends the CacheableCommandImpl class and implements your command interface. This class contains the code for the methods in your interface, the methods inherited from extended interfaces like the CacheableCommand interface, and the required or abstract methods in the CacheableCommandImpl class.

    You can also override the default implementations of other methods provided in the CacheableCommandImpl class.

Avoid trouble: For command caching to operate properly, you must enable servlet caching.