/*
* 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 stateless;
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
ProfileServerHome psHome =
(ProfileServerHome)context.lookup("stateless.ProfileServerHome");
ProfileServer server = psHome.create();
// Ask the server for the person's profile
System.out.println("Finding profile for " + name);
Object obj = server.getProfile(name);
System.out.println("Got " + obj);
Profile profile = (Profile)obj;
// Get/set some entries in the profile
System.out.println("Setting profile entries for " + name);
profile.setProfileEntry("favoriteColor", "blue");
profile.setProfileEntry("language", "German");
System.out.println("Getting profile entries for " + name);
System.out.println("\tFavorite color: " +
profile.getProfileEntry("favoriteColor"));
System.out.println("\tLanguage: " +
profile.getProfileEntry("language"));
}
catch (NoSuchPersonException nspe) {
System.out.println("Invalid person: " + name);
nspe.printStackTrace();
}
catch (Exception e) {
System.out.println("Error while creating/using profile server.");
e.printStackTrace();
}
}
/**
* Gets an initial context.
*
* @return Context
* @exception java.lang.Exception if there is
* an error in getting a Context
*/
static public Context getInitialContext() throws Exception {
Properties p = new Properties();
p.put(Context.INITIAL_CONTEXT_FACTORY,
"weblogic.jndi.T3InitialContextFactory");
p.put(Context.PROVIDER_URL, "t3://localhost:7001");
return new InitialContext(p);
}
}
|