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 unejava.lang.Stringet 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éthodesetAttribute.
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"/>