WebSphere Extended Deployment, Version 6.0.x     Sistemas Operacionais: AIX,, HP-UX, Linux, Solaris , Windows

Um Exemplo

Está listado abaixo todo o conteúdo do servlet do aplicativo do recurso de particionamento HTTP de amostra.
  	public class ListPartitions extends HttpServlet implements Servlet,
  HttpPartitionNotification {
	private static String className = "ListPartitions";
	private static String appName = "http.wpf.sample";
	private static HttpPartitionManager httpPartitionManager =
  HttpPartitionManager.instance;
	    
	public void init() throws ServletException {
	   System.out.println(className+": Registering notification ");
		 httpPartitionManager.registerNotification(appName, this);
 }
    
  public void destroy() {
	   System.out.println(className+": Deregistering notification ");
	   httpPartitionManager.deregisterNotification(appName, this);
   }
	
  public void doGet(HttpServletRequest req, HttpServletResponse resp)
    	throws ServletException, IOException {
		
	  resp.setContentType("text/html");
   	ServletOutputStream out = resp.getOutputStream();
		out.println("<html>");
   	out.println("<head><title>Hello World</title></head>");
   	out.println("<body>");
   	out.println("<h1>Hello World</h1><h1>");
		out.println(listPartitions());
		out.println("</h1>");
		out.println("");	
}
	    
	public void doPost(HttpServletRequest req, HttpServletResponse resp)
		throws ServletException, IOException {
 }
	    
  public static String listPartitions() {
		HttpPartitionManager httpPartitionManager =
    HttpPartitionManager.instance;
    Vector partitions = httpPartitionManager.getActivePartitions
    (appName);
    String output = "Number of Partitions: "+partitions.size()+":
    \nPartitions:\n";
     for (int i=0; i< partitions.size(); i++)
    output = output.concat(partitions.elementAt(i) + "\n");
    return output;
  }
	
public Vector getPartitions() {
		System.out.println(className+": getPartitions ");
		Vector myVect = new Vector();
		myVect.add("jian");
		myVect.add("lou");
	  System.out.println(className+": getPartitions number of partitions:
    "+myVect.size());
	  return myVect;   // Não substituir partições
 	 }
	
public HttpPartitionExpression[] getExpressions() {
		System.out.println(className+": getExpressions ");
		HttpPartitionExpression[] expressions = new HttpPartitionExpression[2];
		expressions[0] = httpPartitionManager.createHttpPartitionExpression
    ("(user=)(.*)&", "$2");
		expressions[1] = httpPartitionManager.createHttpPartitionExpression
    ("(user=)(.*)$", "$2");
		System.out.println(className+": getExpressions number of expressions
    "+expressions.length);
		return expressions;   // Não substituir expressões
  }
	
public boolean loadEvent(String partitionName) {
		 /*
 	 * agora é um bom momento para iniciar o armazenamento em cache de
   dados relevantes
		 */
		System.out.println(className+": load "+partitionName);
	
		return true;
  }
	    
public void unloadEvent(String partitionName)
	    {
		/*
		 * agora é um bom momento para limpar os dados em cache relevantes
		 */
		System.out.println(className+": unload "+partitionName);
  }
	    
public boolean isPartitionAlive(String partitionName)
	    {
		/*
		 * pode verificar se uma partição ainda está ativa
		 */	
		System.out.println(className+": isPartitionAlive ");
		return true;
	    }
}
Este exemplo ilustra como o HttpPartitionManager é utilizado para especificar dois nomes de partição (lou e jian nesse caso) e duas expressões de pedido utilizando os métodos getPartitions() e getExpressions() da interface de notificação. Se este servlet não destinava-se a especificá-los (se, por exemplo, eles foram fornecidos em um arquivo partitions.xml associado ou especificados pelo EJB), estes métodos retornarão nulo.



Related concepts
Partições HTTP

Tópico de Referência    

Termos de Uso | Feedback Última atualização: Mar 21, 2006 12:52:01 PM EST
http://publib.boulder.ibm.com/infocenter/wxdinfo/v6r0/index.jsp?topic=?topic=/com.ibm.websphere.xd.doc/info/WPF51/rwpfexample.html

© Copyright IBM 2005, 2006. Todos os Direitos Reservados.
Este centro de informações é desenvolvido em tecnologia Eclipse. (http://www.eclipse.org)