import javax.naming.Context; import javax.naming.InitialContext; import javax.rmi.PortableRemoteObject; public class SayMyNameClient { public static void main(String[] args) { try { Context initialContext = new InitialContext(); Object initialContextObject = initialContext.lookup("java:comp/env/ejb/SimpleSayMyName"); SayMyNameHome sayMyNameHome = (SayMyNameHome)PortableRemoteObject.narrow( initialContextObject, SayMyNameHome.class); SayMyName sayMyName = sayMyNameHome.create(); sayMyName.setMyName("Michelle"); String myName = " "; int myCount = 0; while (!myName.equals("ok")) { myName = sayMyName.getMyName(); //calls stateful session bean which remembers name, // counts times called myCount = sayMyName.getCount(); System.out.println("Your name is " + myName + " (#" + myCount + ")"); } sayMyName.remove(); //clean up } catch (Exception exception) { System.err.println("Exception!"); exception.printStackTrace(); } } }