WebSphere Extended Deployment, Version 6.0.x     Systèmes d'exploitation : AIX, HP-UX, Linux, Solaris, Windows

Exemple

La section ci-dessous présente l'intégralité de l'exemple de servlet de l'application pour la fonction de partitionnement HTTP.
  	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;   // Ne pas ignorer les partitions 
 	 }
	
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;   // Ne pas ignorer les expressions
  }
	
public boolean loadEvent(String partitionName) {
		 /*
		 * début de la mise en cache des données appropriées
		 */
		System.out.println(className+": load "+partitionName);
	
return true;
  }
	    
public void unloadEvent(String partitionName)
	    {
		/*
		 * Suppression des données mises en cache
		 */
		System.out.println(className+": unload "+partitionName);
  }
	    
public boolean isPartitionAlive(String partitionName)
	    {
		/*
		 * vérification pour déterminer si la partition est toujours active
		 */	
		System.out.println(className+": isPartitionAlive ");
return true;
	    }
}
Cet exemple indique comment utiliser HttpPartitionManager pour définir deux noms de partition (ici "lou" et "jian") et deux expressions de demande à l'aide des méthodes getPartitions() et getExpressions() de l'interface de notification. Si ce servlet ne définit pas ces éléments (par exemple, s'ils sont indiqués dans un fichier partitions.xml associé ou définis par l'EJB), ces méthodes renvoient la valeur null.



Related concepts
Partitions HTTP

Rubrique Référence    

Conditions d'utilisation | Commentaires Dernière mise à jour le : Mar 16, 2006 10:01:30 AM 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. All Rights Reserved.
Ce centre de documentation s'appuie sur la technologie Eclipse. (http://www.eclipse.org)