FileDocCategorySizeDatePackage
ProfileClient.javaAPI DocExample2054Wed Apr 05 11:25:42 BST 2000stateful

ProfileClient.java

/*
 * This example is from the book "Java Enterprise in a Nutshell".
 * Copyright (c) 1999 by O'Reilly & Associates.  
 * You may distribute this source code for non-commercial purposes only.
 * You may study, modify, and use this example for any purpose, as long as
 * this notice is retained.  Note that this example is provided "as is",
 * WITHOUT WARRANTY of any kind either expressed or implied.
 */

package stateful;

import javax.ejb.*;
import javax.naming.*;
import java.rmi.*;
import java.util.Properties;
import NoSuchPersonException;

public class ProfileClient {
  public static void main(String[] args) {
    String name = args[0];

    try {
      // Get a JNDI context for our EJB server
      Properties p = new Properties();
      p.put(Context.INITIAL_CONTEXT_FACTORY,
	    // For Ejbhome server
	    "com.ejbhome.naming.spi.rmi.RMIInitCtxFactory");
            // Following two lines for WebLogic server
// 	    "weblogic.jndi.T3InitialContextFactory");
//       p.put(Context.PROVIDER_URL, "t3://localhost:7001");
      Context context = new InitialContext(p);

      // Create a profile server
      ProfileHome pHome =
        (ProfileHome)context.lookup("stateful.ProfileHome");

      // Ask the server for the person's profile
      System.out.println("Creating profile for " + name);
      Profile profile = pHome.create(name);

      // Get/set some entries in the profile
      System.out.println("Setting profile entries for " + name);
      profile.setEntry("favoriteColor", "blue");
      profile.setEntry("language", "German");

      System.out.println("Getting profile entries for " + name);
      System.out.println("\tFavorite color: " +
                         profile.getEntry("favoriteColor"));
      System.out.println("\tLanguage: " + profile.getEntry("language"));
    }
//     catch (NoSuchPersonException nspe) {
//       System.out.println("Invalid person: " + name);
//     }
    catch (Exception e) {
      System.out.println("Error while creating/using profile.");
      e.printStackTrace();
    }
  }
}