public class JndiTemplate extends Object
JndiCallback interface
to perform any operation they like with a JNDI naming context provided.JndiCallback,
execute(org.springframework.jndi.JndiCallback<T>)| Constructor and Description |
|---|
JndiTemplate()
Create a new JndiTemplate instance.
|
JndiTemplate(Properties environment)
Create a new JndiTemplate instance, using the given environment.
|
| Modifier and Type | Method and Description |
|---|---|
void |
bind(String name,
Object object)
Bind the given object to the current JNDI context, using the given name.
|
protected Context |
createInitialContext()
Create a new JNDI initial context.
|
<T> T |
execute(JndiCallback<T> contextCallback)
Execute the given JNDI context callback implementation.
|
Context |
getContext()
Obtain a JNDI context corresponding to this template's configuration.
|
Properties |
getEnvironment()
Return the environment for the JNDI InitialContext, if any.
|
Object |
lookup(String name)
Look up the object with the given name in the current JNDI context.
|
<T> T |
lookup(String name,
Class<T> requiredType)
Look up the object with the given name in the current JNDI context.
|
void |
rebind(String name,
Object object)
Rebind the given object to the current JNDI context, using the given name.
|
void |
releaseContext(Context ctx)
Release a JNDI context as obtained from
getContext(). |
void |
setEnvironment(Properties environment)
Set the environment for the JNDI InitialContext.
|
void |
unbind(String name)
Remove the binding for the given name from the current JNDI context.
|
protected final Log logger
public JndiTemplate()
public JndiTemplate(Properties environment)
public void setEnvironment(Properties environment)
public Properties getEnvironment()
public <T> T execute(JndiCallback<T> contextCallback) throws NamingException
contextCallback - JndiCallback implementationnullNamingException - thrown by the callback implementationcreateInitialContext()public Context getContext() throws NamingException
execute(org.springframework.jndi.JndiCallback<T>); may also be called directly.
The default implementation delegates to createInitialContext().
null)NamingException - if context retrieval failedreleaseContext(javax.naming.Context)public void releaseContext(Context ctx)
getContext().ctx - the JNDI context to release (may be null)getContext()protected Context createInitialContext() throws NamingException
getContext().
The default implementation use this template's environment settings. Can be subclassed for custom contexts, e.g. for testing.
NamingException - in case of initialization errorspublic Object lookup(String name) throws NamingException
name - the JNDI name of the objectnull; if a not so well-behaved
JNDI implementations returns null, a NamingException gets thrown)NamingException - if there is no object with the given
name bound to JNDIpublic <T> T lookup(String name, Class<T> requiredType) throws NamingException
name - the JNDI name of the objectrequiredType - type the JNDI object must match. Can be an interface or
superclass of the actual class, or null for any match. For example,
if the value is Object.class, this method will succeed whatever
the class of the returned instance.null; if a not so well-behaved
JNDI implementations returns null, a NamingException gets thrown)NamingException - if there is no object with the given
name bound to JNDIpublic void bind(String name, Object object) throws NamingException
name - the JNDI name of the objectobject - the object to bindNamingException - thrown by JNDI, mostly name already boundpublic void rebind(String name, Object object) throws NamingException
name - the JNDI name of the objectobject - the object to rebindNamingException - thrown by JNDIpublic void unbind(String name) throws NamingException
name - the JNDI name of the objectNamingException - thrown by JNDI, mostly name not found