Package examples.cluster.rmi

Source Code of examples.cluster.rmi.HelloClusterClient

package examples.cluster.rmi;

import weblogic.rmi.RemoteException;
import weblogic.jndi.Environment;
import weblogic.jndi.WLInitialContextFactory;

import javax.naming.*;

import examples.cluster.utils.ClusterUtils;


/**
* Client for simple clustered rmi service example.
*
* @author Copyright (c) 1998-2000 by BEA Systems, Inc. All Rights Reserved.
*/

public class HelloClusterClient {
  private HelloCluster hello;
  private static String usage = "java examples.cluster.rmi.HelloClusterClient [-options]\n\n"
  +"where options are:\n"
  +"    -url        URL of a WebLogic Server, can be any member of a Cluster\n"
  +"    -i          Number of iterations to execute, default is 10\n"
  +"    -noverbose  Supresses responses from RMI Object\n"
  +"    -help       This message";
    private boolean verbose = true;
  public static String url = null;
  public static int iterations = 10;

 
  public String hello() throws RemoteException{
    return hello.sayHello();
  }
 
  public static int getIterations(){
    return iterations;
  }
  /**
   * Constructor takes an array of args, gets an initial context and gets
   * a remote reference to RMI object
   */
  public HelloClusterClient(String[] args) throws NamingException {
    if ((args.length == 0)){
      exit();
    }
    for (int i = 0; i < args.length; i++) {
      try{
    if (args[i].equals("-url") && (i+1 < args.length))
        url = args[++i];

    else if (args[i].equals("-i") && (i+1 < args.length))
        iterations = Integer.parseInt(args[++i]);
    else if (args[i].equalsIgnoreCase("-noverbose"))
        verbose = false;
    else if (args[i].equalsIgnoreCase("-h") || (args[i].equals("-help"))){
        exit();
    }
      }catch(NumberFormatException e){
  exit();
      }
    }
    if(url==null){
      exit();
    }
    // get a naming context from the cluster using convenience classes
    Environment env = new Environment();
    env.setProviderUrl(url);
    Context context = env.getInitialContext();
    // lookup the RMI service
    hello = (HelloCluster)context.lookup(HelloClusterImpl.BINDNAME);
 
 
  /**
   * Create a Trade object and perform a specified number of
   * random trades on it.
   */
  public static void main(String inArgs[]) {
    HelloClusterClient client = null;
    ClusterUtils utils = null;
    try {
      client = new HelloClusterClient(inArgs);
    } catch(NamingException e) {
      System.out.println("Exception with server: " + url);
      e.printStackTrace();
      return;
    }
    utils = new ClusterUtils();
    for(int i=0; i<getIterations(); i++) {
      try {
  String returnHello = client.hello();
  if(client.verbose)
    System.out.println(returnHello);
  utils.addClusterMessage(returnHello);
    //  Thread.sleep(200); // pause for clarity
      } catch(Exception e) {
    e.printStackTrace();
  utils.incrementExceptionCount();
      }
    }
    System.out.println("\nCompleted " + utils.getIterations() +
                       " iterations with " + utils.getExceptionCount() +
                       " number of exceptions.");
    System.out.println("\nNow processing aggregate results.\n\n");
    System.out.println(utils.processStatistics());
  }

    private void exit(){
      System.out.println(usage);
      System.exit(-1);
    }
}
TOP

Related Classes of examples.cluster.rmi.HelloClusterClient

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.