Attributs de demande personnalisée pour la mise en cache des servlets

Vous pouvez créer des attributs de requête personnalisée pour la mise en cache des servlets en les ajoutant à la balise <map>.

Dans un magasin qui s'exécute dans le serveur de transactions, la balise du composant DynaCacheFilterMappings dans le fichier wc-server.xml possède une propriété qui définit plusieurs balises <map>.

Dans un magasin qui s'exécute dans le serveur de magasin, définissez cette configuration dans le fichier workspace_dir/xml/config/wc-store.xml.

Chaque balise <map> définit la façon dont un attribut de requête peut être ajouté à l'objet HttpServletRequest. Chaque balise <map> peut spécifier les attributs suivants :
className
Nom de classe Java qualifié complet qui fournit une méthode statique pouvant être appelée pour déterminer la valeur de l'attribut.
dynacacheAttributeName
Nom de l'attribut à ajouter à l'objet HttpServletRequest.
methodName
Nom d'une méthode statique de la classe spécifiée par l'attribut className. La méthode statique renvoie une java.lang.String et accepte les paramètres suivants :
javax.servlet.http.HttpServletRequest
Objet de la demande
com.ibm.commerce.command.CommandContext
Contexte de la commande pour cette demande
java.lang.String
Nom de l'attribut (valeur de l'attribut de configuration dynacacheAttributeName <map>).

Lorsque la valeur String renvoyée n'est pas nulle et n'est pas vide, elle est ajoutée HttpServletRequest à l'aide de la méthode setAttribute.

Vous pouvez appeler la méthode MyClass.getMyAttributeValue sur chaque requête afin de générer une valeur d'attribut pour un attribut de requête nommé "MyAttribute", qui est ensuite ajouté à l'objet de requête. Pour appeler cette méthode sur chaque requête, spécifiez la balise <map> suivante :

<map
   className="com.mycompany.MyClass"
   display="false" dynacacheAttributeName="MyAttribute"
   methodName="getMyAttributeValue" name="getMyAttributeValue"/>