Package org.springframework.jndi
Class JndiTemplate
java.lang.Object
org.springframework.jndi.JndiTemplate
Helper class that simplifies JNDI operations. It provides methods to lookup and
bind objects, and allows implementations of the
JndiCallback
interface
to perform any operation they like with a JNDI naming context provided.- Author:
- Rod Johnson, Juergen Hoeller
- See Also:
-
Field Summary
-
Constructor Summary
ConstructorDescriptionCreate a new JndiTemplate instance.JndiTemplate
(Properties environment) Create a new JndiTemplate instance, using the given environment. -
Method Summary
Modifier and TypeMethodDescriptionvoid
Bind the given object to the current JNDI context, using the given name.protected Context
Create a new JNDI initial context.<T> T
execute
(JndiCallback<T> contextCallback) Execute the given JNDI context callback implementation.Obtain a JNDI context corresponding to this template's configuration.Return the environment for the JNDI InitialContext, if any.Look up the object with the given name in the current JNDI context.<T> T
Look up the object with the given name in the current JNDI context.void
Rebind the given object to the current JNDI context, using the given name.void
releaseContext
(Context ctx) Release a JNDI context as obtained fromgetContext()
.void
setEnvironment
(Properties environment) Set the environment for the JNDI InitialContext.void
Remove the binding for the given name from the current JNDI context.
-
Field Details
-
logger
-
-
Constructor Details
-
JndiTemplate
public JndiTemplate()Create a new JndiTemplate instance. -
JndiTemplate
Create a new JndiTemplate instance, using the given environment.
-
-
Method Details
-
setEnvironment
Set the environment for the JNDI InitialContext. -
getEnvironment
Return the environment for the JNDI InitialContext, if any. -
execute
Execute the given JNDI context callback implementation.- Parameters:
contextCallback
- the JndiCallback implementation to use- Returns:
- a result object returned by the callback, or
null
- Throws:
NamingException
- thrown by the callback implementation- See Also:
-
getContext
Obtain a JNDI context corresponding to this template's configuration. Called byexecute(org.springframework.jndi.JndiCallback<T>)
; may also be called directly.The default implementation delegates to
createInitialContext()
.- Returns:
- the JNDI context (never
null
) - Throws:
NamingException
- if context retrieval failed- See Also:
-
releaseContext
Release a JNDI context as obtained fromgetContext()
.- Parameters:
ctx
- the JNDI context to release (may benull
)- See Also:
-
createInitialContext
Create a new JNDI initial context. Invoked bygetContext()
.The default implementation use this template's environment settings. Can be subclassed for custom contexts, for example, for testing.
- Returns:
- the initial Context instance
- Throws:
NamingException
- in case of initialization errors
-
lookup
Look up the object with the given name in the current JNDI context.- Parameters:
name
- the JNDI name of the object- Returns:
- object found (cannot be
null
; if a not so well-behaved JNDI implementations returns null, a NamingException gets thrown) - Throws:
NamingException
- if there is no object with the given name bound to JNDI
-
lookup
Look up the object with the given name in the current JNDI context.- Parameters:
name
- the JNDI name of the objectrequiredType
- type the JNDI object must match. Can be an interface or superclass of the actual class, ornull
for any match. For example, if the value isObject.class
, this method will succeed whatever the class of the returned instance.- Returns:
- object found (cannot be
null
; if a not so well-behaved JNDI implementations returns null, a NamingException gets thrown) - Throws:
NamingException
- if there is no object with the given name bound to JNDI
-
bind
Bind the given object to the current JNDI context, using the given name.- Parameters:
name
- the JNDI name of the objectobject
- the object to bind- Throws:
NamingException
- thrown by JNDI, mostly name already bound
-
rebind
Rebind the given object to the current JNDI context, using the given name. Overwrites any existing binding.- Parameters:
name
- the JNDI name of the objectobject
- the object to rebind- Throws:
NamingException
- thrown by JNDI
-
unbind
Remove the binding for the given name from the current JNDI context.- Parameters:
name
- the JNDI name of the object- Throws:
NamingException
- thrown by JNDI, mostly name not found
-