The core JNDI interface used by client applications is javax.naming.Context, which represents the initial naming context used to resolve names to bean proxies. To obtain an initial naming context, initialize a java.util.Properties instance and set the properties listed in Table 3-1. Pass the properties instance to the javax.naming.InitialContext constructor. The code fragment below shows a typical call sequence:
import javax.naming.*;
static public Context getInitialContext() throws Exception {
java.util.Properties p = new java.util.Properties();
// Sybase implementation of InitialContextFactory
p.put(Context.INITIAL_CONTEXT_FACTORY,
"com.sybase.ejb.InitialContextFactory");
// URL for the Server’s IIOP port
p.put(Context.PROVIDER_URL, "iiop://myhost:2000");
// Username "pooh", password is "tigger2"
p.put(Context.SECURITY_PRINCIPAL, "pooh");
p.put(Context.SECURITY_CREDENTIALS, "tigger2");
// Now create an InitialContext that uses the properties
return new InitialContext(p);
}
EJB servers from different vendors require different InitialContext property settings. If you are creating a client application that must be portable to other EJB servers, use an external mechanism to specify properties rather than hard-coding values in the source code. For example, in a Java application use command-line arguments or a serialized Java properties file. To specify properties used by a Java applet, use parameters in the HTML Applet tag that loads the applet.