Utilización de la interfaz DynamicContentProvider para memoria caché dinámica

Utilice esta tarea para configurar la interfaz DynamicContentProvider para servlets almacenados en memoria caché y archivos JSP (JavaServer Pages).

Antes de empezar

El servicio de memoria caché dinámica debe habilitarse y debe utilizar la memoria caché de servlets. Consulte el apartado Utilización del servicio de memoria caché dinámica y Configuración de almacenamiento en memoria caché de servlets para obtener más información.

Acerca de esta tarea

Un archivo de servlet almacenable en memoria caché o JSP (JavaServer Pages) puede contener un estado en la respuesta que no pertenezca al fragmento de ese servlet o JSP. Cuando el estado cambia, el servlet almacenado en memoria caché o JSP no es válido para almacenamiento en memoria caché. Utilice la interfaz com.ibm.websphere.servlet.cache.DynamicContentProvider para que el fragmento se pueda almacenar en memoria caché.

Los servlets o archivos JSP que implementan la interfaz DynamicContentProvider puede añadir salidas de usuario en fragmentos que se pueden almacenar en memoria caché llamando al método addDynamicContentProvider(DCP) en el objeto de respuesta de envoltura. Cuando la memoria caché dinámica muestra la página, identifica la salida de usuario y llama al proveedor de contenido dinámico para añadir el contenido dinámico a la página mostrada.

Procedimiento

  1. Proporcione una clase de implementación de la interfaz com.ibm.websphere.servlet.cache.DynamicContentProvider. A continuación se muestra un ejemplo de implementación:
    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. Añada salidas de usuario al servlet o archivo JSP llamando al método addDynamicContentProvider(DCP) en el objeto de respuesta de envoltura. A continuación se muestra un ejemplo:
    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());
    				}
    			}

Qué hacer a continuación

Consulte Visión general de la tarea: Utilización del servicio de memoria caché dinámica para mejorar el rendimiento para obtener más información sobre el resto de tareas que se pueden realizar con la memoria caché dinámica.

Icon that indicates the type of topic Task topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tdyn_dynamiccp
File name: tdyn_dynamiccp.html