Package org.glassfish.jndi.cosnaming
Class CNCtx
- java.lang.Object
-
- org.glassfish.jndi.cosnaming.CNCtx
-
- All Implemented Interfaces:
javax.naming.Context
public class CNCtx extends java.lang.Object implements javax.naming.ContextProvides a bridge to the CosNaming server provided by JavaIDL. This class provides the InitialContext from CosNaming.
-
-
Field Summary
Fields Modifier and Type Field Description private static ORB_defaultOrb(package private) java.util.Hashtable<java.lang.String,java.lang.Object>_envprivate NameComponent[]_nameNamingContext_nc(package private) ORB_orbprivate static booleandebug(package private) intenumCountprivate static java.lang.StringFED_PROP(package private) booleanfederation(package private) booleanisCloseCalled(package private) OrbReuseTrackerorbTracker(package private) static CNNameParserparser
-
Constructor Summary
Constructors Modifier Constructor Description privateCNCtx()(package private)CNCtx(java.util.Hashtable<?,?> env)Create a CNCtx object.(package private)CNCtx(ORB orb, OrbReuseTracker tracker, NamingContext nctx, java.util.Hashtable<java.lang.String,java.lang.Object> env, NameComponent[] name)Creates a CNCtx object which supports the javax.naming apis given a COS Naming Context object.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.ObjectaddToEnvironment(java.lang.String propName, java.lang.Object propValue)Adds to the environment for the current context.voidbind(java.lang.String name, java.lang.Object obj)Converts the "String" name into a CompositeName object and performs the bind operation.voidbind(javax.naming.Name name, java.lang.Object obj)Converts the "Name" name into a NameComponent[] object and performs the bind operation.private javax.naming.ContextcallBindNewContext(NameComponent[] path)Calls the bind_new_context COS naming api to create a new subcontext.private voidcallBindOrRebind(NameComponent[] pth, javax.naming.Name name, java.lang.Object obj, boolean rebind)Performs bind or rebind in the context depending on whether the flag rebind is set.private voidcallDestroy(NamingContext nc)Calls the destroy on the COS Naming Server(package private) java.lang.ObjectcallResolve(NameComponent[] path)Does the job of calling the COS Naming API, resolve, and performs the exception mapping.private voidcallUnbind(NameComponent[] path)Calls the unbind api of COS Naming and uses the exception mapper class to map the exceptionsvoidclose()java.lang.StringcomposeName(java.lang.String name, java.lang.String prefix)javax.naming.NamecomposeName(javax.naming.Name name, javax.naming.Name prefix)javax.naming.ContextcreateSubcontext(java.lang.String name)Uses the callBindNewContext convenience function to create a new context.javax.naming.ContextcreateSubcontext(javax.naming.Name name)Uses the callBindNewContext convenience function to create a new context.static javax.naming.spi.ResolveResultcreateUsingURL(java.lang.String url, java.util.Hashtable<?,?> env)This method is used by the iiop and iiopname URL Context factories.voiddecEnumCount()voiddestroySubcontext(java.lang.String name)Uses the callDestroy function to destroy the context.voiddestroySubcontext(javax.naming.Name name)Uses the callDestroy function to destroy the context.protected voidfinalize()private static javax.naming.ContextgetContinuationContext(javax.naming.CannotProceedException cpe)private static ORBgetDefaultOrb()java.util.Hashtable<java.lang.String,java.lang.Object>getEnvironment()Returns the current environment.java.lang.StringgetNameInNamespace()javax.naming.NameParsergetNameParser(java.lang.String name)Allow access to the name parser object.javax.naming.NameParsergetNameParser(javax.naming.Name name)Allow access to the name parser object.private java.lang.StringgetStringifiedIor(java.lang.String url)voidincEnumCount()private voidinitOrbAndRootContext(java.util.Hashtable<?,?> env)Initializes the COS Naming Service.private java.lang.StringinitUsingCorbanameUrl(ORB orb, java.lang.String url, java.util.Hashtable<?,?> env)Initializes using "corbaname" URL (INS 99-12-03)private java.lang.StringinitUsingIiopUrl(ORB defOrb, java.lang.String url, java.util.Hashtable<?,?> env)Handles "iiop" and "iiopname" URLs (INS 98-10-11)private java.lang.StringinitUsingUrl(ORB orb, java.lang.String url, java.util.Hashtable<?,?> env)private static booleanisCorbaUrl(java.lang.String url)These are the URL schemes that need to be processed.private booleanleafNotFound(NotFound e, NameComponent leaf)javax.naming.NamingEnumeration<javax.naming.NameClassPair>list(java.lang.String name)Returns a NameClassEnumeration object which has a list of name class pairs.javax.naming.NamingEnumeration<javax.naming.NameClassPair>list(javax.naming.Name name)Returns a NameClassEnumeration object which has a list of name class pairs.javax.naming.NamingEnumeration<javax.naming.Binding>listBindings(java.lang.String name)Returns a BindingEnumeration object which has a list of name object pairs.javax.naming.NamingEnumeration<javax.naming.Binding>listBindings(javax.naming.Name name)Returns a BindingEnumeration object which has a list of name class pairs.java.lang.Objectlookup(java.lang.String name)Converts the "String" name into a CompositeName returns the object resolved by the COS Naming api, resolve.java.lang.Objectlookup(javax.naming.Name name)Converts the "Name" name into a NameComponent[] object and returns the object resolved by the COS Naming api, resolve.java.lang.ObjectlookupLink(java.lang.String name)Is mapped to resolve in the COS Naming api.java.lang.ObjectlookupLink(javax.naming.Name name)Is mapped to resolve in the COS Naming api.(package private) NameComponent[]makeFullName(NameComponent[] child)voidrebind(java.lang.String name, java.lang.Object obj)Converts the "String" name into a CompositeName object and performs the rebind operation.voidrebind(javax.naming.Name name, java.lang.Object obj)Converts the "Name" name into a NameComponent[] object and performs the rebind operation.java.lang.ObjectremoveFromEnvironment(java.lang.String propName)voidrename(java.lang.String oldName, java.lang.String newName)Renames an object.voidrename(javax.naming.Name oldName, javax.naming.Name newName)Renames an object.private voidsetOrbAndRootContext(ORB orb, java.lang.String ncIor)private voidsetOrbAndRootContext(ORB orb, Object ncRef)voidunbind(java.lang.String name)Converts the "String" name into a CompositeName object and performs the unbind operation.voidunbind(javax.naming.Name name)Converts the "Name" name into a NameComponent[] object and performs the unbind operation.
-
-
-
Field Detail
-
debug
private static final boolean debug
- See Also:
- Constant Field Values
-
_defaultOrb
private static ORB _defaultOrb
-
_orb
ORB _orb
-
_nc
public NamingContext _nc
-
_name
private NameComponent[] _name
-
_env
java.util.Hashtable<java.lang.String,java.lang.Object> _env
-
parser
static final CNNameParser parser
-
FED_PROP
private static final java.lang.String FED_PROP
- See Also:
- Constant Field Values
-
federation
boolean federation
-
orbTracker
OrbReuseTracker orbTracker
-
enumCount
int enumCount
-
isCloseCalled
boolean isCloseCalled
-
-
Constructor Detail
-
CNCtx
CNCtx(java.util.Hashtable<?,?> env) throws javax.naming.NamingException
Create a CNCtx object. Gets the initial naming reference for the COS Naming Service from the ORB. The ORB can be passed in via the java.naming.corba.orb property or be created using properties in the environment properties.- Parameters:
env- Environment properties for initializing name service.- Throws:
javax.naming.NamingException- Cannot initialize ORB or naming context.
-
CNCtx
private CNCtx()
-
CNCtx
CNCtx(ORB orb, OrbReuseTracker tracker, NamingContext nctx, java.util.Hashtable<java.lang.String,java.lang.Object> env, NameComponent[] name) throws javax.naming.NamingException
Creates a CNCtx object which supports the javax.naming apis given a COS Naming Context object.- Parameters:
orb- The ORB used by this contexttracker- The ORB reuse tracker for tracking references to the orb objectnctx- The COS NamingContext object associated with this contextname- The name of this context relative to the root- Throws:
javax.naming.NamingException
-
-
Method Detail
-
getDefaultOrb
private static ORB getDefaultOrb()
-
createUsingURL
public static javax.naming.spi.ResolveResult createUsingURL(java.lang.String url, java.util.Hashtable<?,?> env) throws javax.naming.NamingExceptionThis method is used by the iiop and iiopname URL Context factories.- Throws:
javax.naming.NamingException
-
makeFullName
NameComponent[] makeFullName(NameComponent[] child)
-
getNameInNamespace
public java.lang.String getNameInNamespace() throws javax.naming.NamingException- Specified by:
getNameInNamespacein interfacejavax.naming.Context- Throws:
javax.naming.NamingException
-
isCorbaUrl
private static boolean isCorbaUrl(java.lang.String url)
These are the URL schemes that need to be processed. IOR and corbaloc URLs can be passed directly to ORB.string_to_object()
-
initOrbAndRootContext
private void initOrbAndRootContext(java.util.Hashtable<?,?> env) throws javax.naming.NamingExceptionInitializes the COS Naming Service. This method initializes the three instance fields: _nc : The root naming context. _orb: The ORB to use for connecting RMI/IIOP stubs and for getting the naming context (_nc) if one was not specified explicitly via PROVIDER_URL. _name: The name of the root naming context._orb is obtained from java.naming.corba.orb if it has been set. Otherwise, _orb is created using the host/port from PROVIDER_URL (if it contains an "iiop" or "iiopname" URL), or from initialization properties specified in env.
_nc is obtained from the IOR stored in PROVIDER_URL if it has been set and does not contain an "iiop" or "iiopname" URL. It can be a stringified IOR, "corbaloc" URL, "corbaname" URL, or a URL (such as file/http/ftp) to a location containing a stringified IOR. If PROVIDER_URL has not been set in this way, it is obtained from the result of ORB.resolve_initial_reference("NameService");
_name is obtained from the "iiop", "iiopname", or "corbaname" URL. It is the empty name by default.
- Parameters:
env- Environment The possibly null environment.- Throws:
javax.naming.NamingException- When an error occurs while initializing the ORB or the naming context.
-
initUsingUrl
private java.lang.String initUsingUrl(ORB orb, java.lang.String url, java.util.Hashtable<?,?> env) throws javax.naming.NamingException
- Throws:
javax.naming.NamingException
-
initUsingIiopUrl
private java.lang.String initUsingIiopUrl(ORB defOrb, java.lang.String url, java.util.Hashtable<?,?> env) throws javax.naming.NamingException
Handles "iiop" and "iiopname" URLs (INS 98-10-11)- Throws:
javax.naming.NamingException
-
initUsingCorbanameUrl
private java.lang.String initUsingCorbanameUrl(ORB orb, java.lang.String url, java.util.Hashtable<?,?> env) throws javax.naming.NamingException
Initializes using "corbaname" URL (INS 99-12-03)- Throws:
javax.naming.NamingException
-
setOrbAndRootContext
private void setOrbAndRootContext(ORB orb, java.lang.String ncIor) throws javax.naming.NamingException
- Throws:
javax.naming.NamingException
-
setOrbAndRootContext
private void setOrbAndRootContext(ORB orb, Object ncRef) throws javax.naming.NamingException
- Throws:
javax.naming.NamingException
-
getStringifiedIor
private java.lang.String getStringifiedIor(java.lang.String url) throws javax.naming.NamingException- Throws:
javax.naming.NamingException
-
callResolve
java.lang.Object callResolve(NameComponent[] path) throws javax.naming.NamingException
Does the job of calling the COS Naming API, resolve, and performs the exception mapping. If the resolved object is a COS Naming Context (sub-context), then this function returns a new JNDI naming context object.- Parameters:
path- the NameComponent[] object.- Returns:
- Resolved object returned by the COS Name Server.
- Throws:
NotFound- No objects under the name.CannotProceed- Unable to obtain a continuation contextInvalidName- Name not understood.javax.naming.NamingException
-
lookup
public java.lang.Object lookup(java.lang.String name) throws javax.naming.NamingExceptionConverts the "String" name into a CompositeName returns the object resolved by the COS Naming api, resolve. Returns the current context if the name is empty. Returns either an org.omg.CORBA.Object or javax.naming.Context object.- Specified by:
lookupin interfacejavax.naming.Context- Parameters:
name- string used to resolve the object.- Returns:
- the resolved object
- Throws:
javax.naming.NamingException- See callResolve.
-
lookup
public java.lang.Object lookup(javax.naming.Name name) throws javax.naming.NamingExceptionConverts the "Name" name into a NameComponent[] object and returns the object resolved by the COS Naming api, resolve. Returns the current context if the name is empty. Returns either an org.omg.CORBA.Object or javax.naming.Context object.- Specified by:
lookupin interfacejavax.naming.Context- Parameters:
name- JNDI Name used to resolve the object.- Returns:
- the resolved object
- Throws:
javax.naming.NamingException- See callResolve.
-
callBindOrRebind
private void callBindOrRebind(NameComponent[] pth, javax.naming.Name name, java.lang.Object obj, boolean rebind) throws javax.naming.NamingException
Performs bind or rebind in the context depending on whether the flag rebind is set. The only objects allowed to be bound are of types org.omg.CORBA.Object, org.omg.CosNaming.NamingContext. You can use a state factory to turn other objects (such as Remote) into these acceptable forms. Uses the COS Naming apis bind/rebind or bind_context/rebind_context.- Parameters:
pth- NameComponent[] objectobj- Object to be bound.rebind- perform rebind ? if true performs a rebind.- Throws:
NotFound- No objects under the name.CannotProceed- Unable to obtain a continuation contextAlreadyBound- An object is already bound to this name.javax.naming.NamingException
-
bind
public void bind(javax.naming.Name name, java.lang.Object obj) throws javax.naming.NamingExceptionConverts the "Name" name into a NameComponent[] object and performs the bind operation. Uses callBindOrRebind. Throws an invalid name exception if the name is empty. We need a name to bind the object even when we work within the current context.- Specified by:
bindin interfacejavax.naming.Context- Parameters:
name- JNDI Name objectobj- Object to be bound.- Throws:
javax.naming.NamingException- See callBindOrRebind
-
getContinuationContext
private static javax.naming.Context getContinuationContext(javax.naming.CannotProceedException cpe) throws javax.naming.NamingException- Throws:
javax.naming.NamingException
-
bind
public void bind(java.lang.String name, java.lang.Object obj) throws javax.naming.NamingExceptionConverts the "String" name into a CompositeName object and performs the bind operation. Uses callBindOrRebind. Throws an invalid name exception if the name is empty.- Specified by:
bindin interfacejavax.naming.Context- Parameters:
name- stringobj- Object to be bound.- Throws:
javax.naming.NamingException- See callBindOrRebind
-
rebind
public void rebind(javax.naming.Name name, java.lang.Object obj) throws javax.naming.NamingExceptionConverts the "Name" name into a NameComponent[] object and performs the rebind operation. Uses callBindOrRebind. Throws an invalid name exception if the name is empty. We must have a name to rebind the object to even if we are working within the current context.- Specified by:
rebindin interfacejavax.naming.Context- Parameters:
name- stringobj- Object to be bound.- Throws:
javax.naming.NamingException- See callBindOrRebind
-
rebind
public void rebind(java.lang.String name, java.lang.Object obj) throws javax.naming.NamingExceptionConverts the "String" name into a CompositeName object and performs the rebind operation. Uses callBindOrRebind. Throws an invalid name exception if the name is an empty string.- Specified by:
rebindin interfacejavax.naming.Context- Parameters:
name- stringobj- Object to be bound.- Throws:
javax.naming.NamingException- See callBindOrRebind
-
callUnbind
private void callUnbind(NameComponent[] path) throws javax.naming.NamingException
Calls the unbind api of COS Naming and uses the exception mapper class to map the exceptions- Parameters:
path- NameComponent[] object- Throws:
NotFound- No objects under the name. If leaf is not found, that's OK according to the JNDI specCannotProceed- Unable to obtain a continuation contextInvalidName- Name not understood.javax.naming.NamingException
-
leafNotFound
private boolean leafNotFound(NotFound e, NameComponent leaf)
-
unbind
public void unbind(java.lang.String name) throws javax.naming.NamingExceptionConverts the "String" name into a CompositeName object and performs the unbind operation. Uses callUnbind. If the name is empty, throws an invalid name exception. Do we unbind the current context (JNDI spec says work with the current context if the name is empty) ?- Specified by:
unbindin interfacejavax.naming.Context- Parameters:
name- string- Throws:
javax.naming.NamingException- See callUnbind
-
unbind
public void unbind(javax.naming.Name name) throws javax.naming.NamingExceptionConverts the "Name" name into a NameComponent[] object and performs the unbind operation. Uses callUnbind. Throws an invalid name exception if the name is empty.- Specified by:
unbindin interfacejavax.naming.Context- Parameters:
name- string- Throws:
javax.naming.NamingException- See callUnbind
-
rename
public void rename(java.lang.String oldName, java.lang.String newName) throws javax.naming.NamingExceptionRenames an object. Since COS Naming does not support a rename api, this method unbinds the object with the "oldName" and creates a new binding.- Specified by:
renamein interfacejavax.naming.Context- Parameters:
oldName- string, existing name for the binding.newName- string, name used to replace.- Throws:
javax.naming.NamingException- See bind
-
rename
public void rename(javax.naming.Name oldName, javax.naming.Name newName) throws javax.naming.NamingExceptionRenames an object. Since COS Naming does not support a rename api, this method unbinds the object with the "oldName" and creates a new binding.- Specified by:
renamein interfacejavax.naming.Context- Parameters:
oldName- JNDI Name, existing name for the binding.newName- JNDI Name, name used to replace.- Throws:
javax.naming.NamingException- See bind
-
list
public javax.naming.NamingEnumeration<javax.naming.NameClassPair> list(java.lang.String name) throws javax.naming.NamingExceptionReturns a NameClassEnumeration object which has a list of name class pairs. Lists the current context if the name is empty.- Specified by:
listin interfacejavax.naming.Context- Parameters:
name- string- Returns:
- a list of name-class objects as a NameClassEnumeration.
- Throws:
javax.naming.NamingException- All exceptions thrown by lookup with a non-null argument
-
list
public javax.naming.NamingEnumeration<javax.naming.NameClassPair> list(javax.naming.Name name) throws javax.naming.NamingExceptionReturns a NameClassEnumeration object which has a list of name class pairs. Lists the current context if the name is empty.- Specified by:
listin interfacejavax.naming.Context- Parameters:
name- JNDI Name- Returns:
- a list of name-class objects as a NameClassEnumeration.
- Throws:
javax.naming.NamingException- All exceptions thrown by lookup
-
listBindings
public javax.naming.NamingEnumeration<javax.naming.Binding> listBindings(java.lang.String name) throws javax.naming.NamingExceptionReturns a BindingEnumeration object which has a list of name object pairs. Lists the current context if the name is empty.- Specified by:
listBindingsin interfacejavax.naming.Context- Parameters:
name- string- Returns:
- a list of bindings as a BindingEnumeration.
- Throws:
javax.naming.NamingException- all exceptions returned by lookup
-
listBindings
public javax.naming.NamingEnumeration<javax.naming.Binding> listBindings(javax.naming.Name name) throws javax.naming.NamingExceptionReturns a BindingEnumeration object which has a list of name class pairs. Lists the current context if the name is empty.- Specified by:
listBindingsin interfacejavax.naming.Context- Parameters:
name- JNDI Name- Returns:
- a list of bindings as a BindingEnumeration.
- Throws:
javax.naming.NamingException- all exceptions returned by lookup.
-
callDestroy
private void callDestroy(NamingContext nc) throws javax.naming.NamingException
Calls the destroy on the COS Naming Server- Parameters:
nc- The NamingContext object to use.- Throws:
NotEmpty- when the context is not empty and cannot be destroyed.javax.naming.NamingException
-
destroySubcontext
public void destroySubcontext(java.lang.String name) throws javax.naming.NamingExceptionUses the callDestroy function to destroy the context. If name is empty destroys the current context.- Specified by:
destroySubcontextin interfacejavax.naming.Context- Parameters:
name- string- Throws:
javax.naming.OperationNotSupportedException- when list is invoked with a non-null argumentjavax.naming.NamingException
-
destroySubcontext
public void destroySubcontext(javax.naming.Name name) throws javax.naming.NamingExceptionUses the callDestroy function to destroy the context. Destroys the current context if name is empty.- Specified by:
destroySubcontextin interfacejavax.naming.Context- Parameters:
name- JNDI Name- Throws:
javax.naming.OperationNotSupportedException- when list is invoked with a non-null argumentjavax.naming.NamingException
-
callBindNewContext
private javax.naming.Context callBindNewContext(NameComponent[] path) throws javax.naming.NamingException
Calls the bind_new_context COS naming api to create a new subcontext.- Parameters:
path- NameComponent[] object- Returns:
- the new context object.
- Throws:
NotFound- No objects under the name.CannotProceed- Unable to obtain a continuation contextInvalidName- Name not understood.AlreadyBound- An object is already bound to this name.javax.naming.NamingException
-
createSubcontext
public javax.naming.Context createSubcontext(java.lang.String name) throws javax.naming.NamingExceptionUses the callBindNewContext convenience function to create a new context. Throws an invalid name exception if the name is empty.- Specified by:
createSubcontextin interfacejavax.naming.Context- Parameters:
name- string- Returns:
- the new context object.
- Throws:
javax.naming.NamingException- See callBindNewContext
-
createSubcontext
public javax.naming.Context createSubcontext(javax.naming.Name name) throws javax.naming.NamingExceptionUses the callBindNewContext convenience function to create a new context. Throws an invalid name exception if the name is empty.- Specified by:
createSubcontextin interfacejavax.naming.Context- Parameters:
name- string- Returns:
- the new context object.
- Throws:
javax.naming.NamingException- See callBindNewContext
-
lookupLink
public java.lang.Object lookupLink(java.lang.String name) throws javax.naming.NamingExceptionIs mapped to resolve in the COS Naming api.- Specified by:
lookupLinkin interfacejavax.naming.Context- Parameters:
name- string- Returns:
- the resolved object.
- Throws:
javax.naming.NamingException- See lookup.
-
lookupLink
public java.lang.Object lookupLink(javax.naming.Name name) throws javax.naming.NamingExceptionIs mapped to resolve in the COS Naming api.- Specified by:
lookupLinkin interfacejavax.naming.Context- Parameters:
name- string- Returns:
- the resolved object.
- Throws:
javax.naming.NamingException- See lookup.
-
getNameParser
public javax.naming.NameParser getNameParser(java.lang.String name) throws javax.naming.NamingExceptionAllow access to the name parser object.- Specified by:
getNameParserin interfacejavax.naming.Context- Parameters:
name- JNDI name, is ignored since there is only one Name Parser object.- Returns:
- NameParser object
- Throws:
javax.naming.NamingException- --
-
getNameParser
public javax.naming.NameParser getNameParser(javax.naming.Name name) throws javax.naming.NamingExceptionAllow access to the name parser object.- Specified by:
getNameParserin interfacejavax.naming.Context- Parameters:
name- JNDI name, is ignored since there is only one Name Parser object.- Returns:
- NameParser object
- Throws:
javax.naming.NamingException- --
-
getEnvironment
public java.util.Hashtable<java.lang.String,java.lang.Object> getEnvironment() throws javax.naming.NamingExceptionReturns the current environment.- Specified by:
getEnvironmentin interfacejavax.naming.Context- Returns:
- Environment.
- Throws:
javax.naming.NamingException
-
composeName
public java.lang.String composeName(java.lang.String name, java.lang.String prefix) throws javax.naming.NamingException- Specified by:
composeNamein interfacejavax.naming.Context- Throws:
javax.naming.NamingException
-
composeName
public javax.naming.Name composeName(javax.naming.Name name, javax.naming.Name prefix) throws javax.naming.NamingException- Specified by:
composeNamein interfacejavax.naming.Context- Throws:
javax.naming.NamingException
-
addToEnvironment
public java.lang.Object addToEnvironment(java.lang.String propName, java.lang.Object propValue) throws javax.naming.NamingExceptionAdds to the environment for the current context. Record change but do not reinitialize ORB.- Specified by:
addToEnvironmentin interfacejavax.naming.Context- Parameters:
propName- The property name.propValue- The ORB.- Returns:
- the previous value of this property if any.
- Throws:
javax.naming.NamingException
-
removeFromEnvironment
public java.lang.Object removeFromEnvironment(java.lang.String propName) throws javax.naming.NamingException- Specified by:
removeFromEnvironmentin interfacejavax.naming.Context- Throws:
javax.naming.NamingException
-
incEnumCount
public void incEnumCount()
-
decEnumCount
public void decEnumCount() throws javax.naming.NamingException- Throws:
javax.naming.NamingException
-
close
public void close() throws javax.naming.NamingException- Specified by:
closein interfacejavax.naming.Context- Throws:
javax.naming.NamingException
-
finalize
protected void finalize()
- Overrides:
finalizein classjava.lang.Object
-
-