Added support for configuration using resource files. See Chapter 6 of the JNDI API document.
API-related Changes
Added NamingEnumeration.close() for cancelling or terminating enumerations.
Added ReferralException.getReferralContext(Hashtable env) and ReferralException.retryReferral() to allow creation and retry of referral context with different environment properties.
Clarified how context methods that accept Name argument should deal with CompositeName and nonCompositeName arguments. Specifically, instances of CompositeName are treated as composite name, while al
l others are treated as compound name.
Added Context.getNameInNamespace() for retrieving the full name of a context within its own namespace.
Clarified definition of the class factory location of a Reference object. Specifically, the location is a codebase, which consists of a list space-separated URLs.
Added support for ordered multivalued attributes to Attribute and BasicAttribute.
Added BasicAttributes.equals() and BasicAttributes.hashCode().
Redefined semantics of DirContext.getSchemaClassDefinition() so that it returns a context that contains the DirContext objects of class definitions, rather than returning one (arbitrary) class definition.
Added protected InitialContext/InitialDirContext constructors to allow lazy initialization. Useful for subclass implementations.
SPI-related Changes
Added StateFactory/NamingManager.getStateToBind(), analogous to ObjectFactory/NamingManager.getObjectInstance(), for transforming an object's state before the object is bound in the naming/directory
service.
Added interfaces DirObjectFactory and DirStateFactory to better support service providers that implement the DirContext interface. Added
DirectoryManager.getObjectInstance() and
DirectoryManager.getStateToStore() to use these interfaces.
Refined definition of NamingManager.getObjectInstance() to not treat URL strings specially. Instead, the URL should be wrapped inside a Reference whose RefAddr type is "URL".
Made ResolveResult implement Serializable.
Defined a special form of Reference called a next naming system (nns) reference for supporting "dynamic federation". This reference has a RefAddr type of "nns" and a content consisting of the resolved object.
Added the string constant NamingManager.CPE which names a property set by NamingManager.getContinuationContext()/DirectoryManager.getContinuationContext(). The value of this property is an instance of
CannotProceedException.
This is useful to service providers that implement federation by chaining the CPEs.
Defined a convention for service providers to use when naming environment properties. See Section 6.1.