A Simple Example

Before going any further, let’s take a look at a simple JNDI example. To access an object in a naming system, we need to create an initial context for the naming system, to give us an entry point into it. Once we have an initial context, we can look up an object by name.

Example 9-1 demonstrates the basic JNDI tasks of getting an initial context to a naming system and looking up an object in that naming system. With slight modification, this code can be used to look up objects with any JNDI provider. So, for example, you could use this Lookup class to look up Enterprise JavaBeans or remote objects in an RMI registry and handle them however you like. All you have to change is the properties that control the naming system being accessed.

Example 9-1. Looking up an object in a naming system

import java.util.Properties; import javax.naming.*; public class Lookup { public static void main(String[] args) { String name = ""; if (args.length > 0) name = args[0]; try { // Create a Properties object and set default properties Properties props = new Properties(); props.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.fscontext.RefFSContextFactory"); props.put(Context.PROVIDER_URL, "file:///"); // Optional command-line args to specify alternate factory and URL if (args.length > 1) { props.put(Context.INITIAL_CONTEXT_FACTORY, args[1]); } if (args.length > 2) { props.put(Context.PROVIDER_URL, args[2]); } // Create the initial context from the properties we just created ...

Get Java Enterprise in a Nutshell, Third Edition now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.