Introducing the Context
A naming service associates names with objects. An association between a name and an object is called a binding, and a set of such bindings is called a context. A name in a context can be bound to another context that uses the same naming conventions; the bound context is called a subcontext. Using a filesystem as an analogy, a directory (such as /temp) is a context that contains bindings between filenames and objects that the system can use to manipulate the files (often called file handles). If a directory contains a binding for another directory (e.g., /temp/javax), the subdirectory is a subcontext.
JNDI represents a context in a naming system using the
javax.naming.Context
interface. This is the key
interface for interacting with naming services. A
Context
knows about its set of bindings in the
naming system, but little else. While you might be tempted to think
of a Context
as an exotic
java.io.File
object, you should resist making that
analogy, as it will just confuse you. Unlike a
File
object, which can tell you its absolute and
relative names as well as return a reference to its parent, a
Context
object can tell you only about its
bindings. A Context
can’t go up a
level, tell you its absolute pathname, or even tell you its own name.
When you think of a Context
, think of an object
that encapsulates its children as data and has methods that perform
operations on that data, not on the Context
itself.
Using the InitialContext Class
The
javax.naming.InitialContext ...
Get Java Enterprise in a Nutshell, Second Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.