Configuration de la mise en cache des commandes

Les commandes mémorisables en cache sont stockées dans la mémoire cache en vue d'être réutilisées à l'aide d'un mécanisme similaire pour les servlets et les fichiers JSP (Java Server Pages).

Pourquoi et quand exécuter cette tâche

Cependant, dans ce cas, les ID cache uniques sont générés en fonction des méthodes et des zones présentes dans la commande sous forme de paramètres d'entrée. Par exemple, une commande GetStockQuote peut comporter un symbole comme paramètre d'entrée.

Un ID cache unique peut être généré à partir du nom de la commande et de la valeur du symbole.

Pour utiliser la mise en cache des commandes vous devez :

Procédure

Créez une commande.
  1. Définissez une interface. L'interface de commande permet de spécifier les aspects de base d'une commande.

    Vous devez définir une interface qui étend une ou plusieurs des interfaces du package de commande qui est constitué des trois interfaces suivantes :

    • TargetableCommand
    • CompensableCommand
    • CacheableCommand
    En pratique, la plupart des commandes implémentent l'interface TargetableCommand, qui permet leur exécution à distance. La structure de code d'une interface de commande pour une commande de type Targetable (ciblable) est la suivante :
    ...
    import com.ibm.websphere.command.*;
    public interface MyCommand extends TargetableCommand { 
          // Declare application methods here
    }
  2. Fournissez une classe d'implémentation pour l'interface. Ecrivez une interface qui étend la classe CacheableCommandImpl et qui implémente votre interface de commande. Cette classe contient le code des méthodes de votre interface, les méthodes héritées des interfaces étendues, telles que l'interface CacheableCommand, ainsi que les méthodes requises ou abstraites de la classe CacheableCommandImpl.

    Vous pouvez également remplacer les implémentations par défaut d'autres méthodes fournies dans la classe CacheableCommandImpl.

Eviter les incidents Eviter les incidents: Pour que la mise en cache de commande fonctionne correctement, vous devez activer la mise en cache de servlet.gotcha

Exemple

Les commandes mémorisables en cache sont stockées dans la mémoire cache en vue d'être réutilisées à l'aide d'un mécanisme similaire pour les servlets et les fichiers JSP (Java Server Pages).

Les exemples de code suivants illustrent la façon d'utiliser la mise en cache des commandes pour une commande de cotation boursière simple.

L'exemple ci-dessous est un bean de commande de cotation boursière. Il accepte un compteur comme paramètre d'entrée et génère un prix comme paramètre de sortie :

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

L'exemple ci-dessous illustre la façon d'utiliser la règle de mise en cache pour mettre en cache l'objet de commande de cotation boursière en utilisant le compteur boursier comme clé de mémoire cache, ainsi qu'une durée de vie de 60 secondes :

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

Icône indiquant le type de rubrique Rubrique de tâche



Icône d'horodatage Dernière mise à jour: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tdyn_cachecommands
Nom du fichier : tdyn_cachecommands.html