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, Third 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.