Utilizando a Interface DynamicContentProvider para Cache Dinâmico

Utilize esta tarefa para configurar a interface DynamicContentProvider para servlets armazenados em cache e arquivos JSP (JavaServer Pages).

Antes de Iniciar

O serviço de cache dinâmico deve estar ativado e você deve estar utilizando armazenamento em cache de servlet. Consulte Usando o Serviço de Cache Dinâmico e Configurando o armazenamento em cache de servlet para obter mais informações.

Sobre Esta Tarefa

Um servlet armazenável em cache ou um arquivo JSP (JavaServer Pages) pode conter um estado na resposta que não pertence ao fragmento do servlet ou JSP. Quando o estado muda, o servlet ou JSP armazenado em cache não é válido para armazenamento em cache. Utilize a interface com.ibm.websphere.servlet.cache.DynamicContentProvider para tornar o fragmento armazenável em cache.

Servlets ou arquivos JSP que implementam a interface DynamicContentProvider podem incluir saídas de usuários em fragmentos que podem ser armazenados em cache, chamando o método DCP (addDynamicContentProvider) no objeto de resposta do wrapper. Quando o cache dinâmico apresenta a página, ele identifica a saída do usuário e chama o fornecedor de conteúdo dinâmico para incluir o conteúdo dinâmico na página apresentada.

Procedimento

  1. Forneça uma classe de implementação da interface com.ibm.websphere.servlet.cache.DynamicContentProvider. Segue um exemplo de uma implementação:
    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. Inclua as saídas de usuários em seu servlet ou arquivo JSP chamando o método DCP (addDynamicContentProvider) no objeto de resposta do wrapper. Este é um exemplo:
    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());
    				}
    			}

O que Fazer Depois

Consulte Visão Geral da Tarefa: Utilizando o Serviço de Cache Dinâmico para Melhorar o Desempenho para obter informações adicionais sobre as outras tarefas que podem ser executadas com o cache dinâmico.

Ícone que indica o tipo de tópico Tópico de Tarefa



Ícone de registro de data e hora Última atualização: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tdyn_dynamiccp
Nome do arquivo: tdyn_dynamiccp.html