Utilisation de l'interface DynamicContentProvider pour la cache dynamique

Cette tâche vous permet de configurer l'interface DynamicContentProvider pour les servlets et les fichiers JSP (JavaServer Pages) mis en cache.

Avant de commencer

Le service de cache dynamique doit être activé et vous devez utiliser la mise en cache de servlets. Pour plus d'informations, voir Utilisation du service de cache dynamique et Configuration de la mise en cache de servlets.

Pourquoi et quand exécuter cette tâche

Un servlet ou un fichier JSP mémorisable peut avoir dans la réponse un état qui n'appartient pas au fragment correspondant à ce servlet ou à ce fichier JSP. Lorsque l'état change, le servlet ou le JSP mis en cache n'est pas valide pour la mise en cache. Utilisez l'interface com.ibm.websphere.servlet.cache.DynamicContentProvider pour rendre le fragment mémorisable.

Les servlets ou les fichiers JSP qui implémentent l'interface DynamicContentProvider peuvent ajouter des exits utilisateur dans les fragments qui sont mémorisables en appelant la méthode addDynamicContentProvider(DCP) sur l'objet de réponse de l'encapsuleur (wrapper response). Lorsque la cache dynamique restitue la page, elle identifie l'exit utilisateur et appelle le fournisseur de contenu dynamique afin d'ajouter le contenu dynamique à la page restituée.

Procédure

  1. Fournissez une classe d'implémentation de l'interface com.ibm.websphere.servlet.cache.DynamicContentProvider. Voici un exemple d'implémentation :
    class DynamicContentProviderImpl implements com.ibm.websphere.servlet.cache.
       DynamicContentProvider {
    				DynamicContentProviderImpl() {}
    				
    				public void provideDynamicContent(HttpServletRequest request, OutputStream streamWriter)
               throws IOException {	
    					String dynamicContent = System.currentTimeMillis();
    					streamWriter.write(dynamicContent.getBytes());
    				}
    				public void provideDynamicContent(HttpServletRequest request, Writer streamWriter) 
               throws IOException {	
    					String dynamicContent = System.currentTimeMillis();			
    					streamWriter.write(dynamicContent.toCharArray());
    				}
    			}
  2. Ajoutez des exits utilisateur à votre servlet ou fichier JSP en appelant la méthode addDynamicContentProvider(DCP) sur l'objet de réponse de l'encapsuleur. Voici un exemple :
    public class DCPServlet extends CacheTestCase {
    				public void performTest(HttpServletRequest request, HttpServletResponse response) 
               throws IOException, ServletException {
    					out.println(“Testing the DCP feature begin ”+System.currentTimeMillis());
    					DynamicContentProvider dcp = new DynamicContentProviderImpl();
    					ServletCacheResponse scr = (ServletCacheResponse)(response);
    					scr.addDynamicContentProvider(dcp);
      					out.println("Testing the DCP feature end”+System.currentTimeMillis());
    				}
    			}

Que faire ensuite

Pour plus d'informations sur les autres tâches que vous pouvez effectuer avec la mémoire cache dynamique, voir Généralités sur les tâches : Utilisation du service de cache dynamique en vue de l'amélioration des performances.

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_dynamiccp
Nom du fichier : tdyn_dynamiccp.html