FileDocCategorySizeDatePackage
NumberCruncherClient.javaAPI DocApache log4j 1.2.153216Sat Aug 25 00:09:44 BST 2007examples

NumberCruncherClient

public class NumberCruncherClient extends Object
NumberCruncherClient is a simple client for factoring integers. A remote NumberCruncher is contacted and asked to factor an integer. The factors returned by the {@link NumberCruncherServer} are displayed on the screen.

See source code of NumberCruncherClient for more details.

Usage: java org.apache.log4j.examples.NumberCruncherClient HOST
    where HOST is the machine where the NumberCruncherServer is running

Note that class files for the example code is not included in any of the distributed log4j jar files. You will have to add the directory /dir-where-you-unpacked-log4j/classes to your classpath before trying out the examples.

author
Ceki Gülcü

Fields Summary
Constructors Summary
Methods Summary
static voidloop(NumberCruncher nc)

    BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
    int i = 0;
    while (true) {
      System.out.print("Enter a number to factor, '-1' to quit: ");      
      try {
	i = Integer.parseInt(in.readLine());
      }
      catch(Exception e) {
	e.printStackTrace();
      }
      if(i == -1) {
	System.out.print("Exiting loop.");
	return;
      }
      else {
	try {
	  System.out.println("Will attempt to factor "+i);
	  int[] factors = nc.factor(i);
	  System.out.print("The factors of "+i+" are");
	  for(int k=0; k < factors.length; k++) {
	    System.out.print(" " + factors[k]);
	  }
	  System.out.println(".");
	}
	catch(RemoteException e) {
	  System.err.println("Could not factor "+i);
	  e.printStackTrace();
	}
      }
    }
  
public static voidmain(java.lang.String[] args)

    if(args.length == 1) {
      try {
        String url = "rmi://"+args[0]+ "/Factor";
      	NumberCruncher nc = (NumberCruncher) Naming.lookup(url);
	loop(nc);
      }
      catch(Exception e) {
	e.printStackTrace();
      }      
    }
    else
      usage("Wrong number of arguments.");
  
static voidusage(java.lang.String msg)

    System.err.println(msg);
    System.err.println(
     "Usage: java org.apache.log4j.examples.NumberCruncherClient HOST\n" +
     "   where HOST is the machine where the NumberCruncherServer is running.");
    System.exit(1);