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(@Nullable Properties environment)
public void setEnvironment(@Nullable Properties environment)
@Nullable public Properties getEnvironment()
@Nullable public <T> T execute(JndiCallback<T> contextCallback) throws NamingException
contextCallback
- JndiCallback implementationnull
NamingException
- 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(@Nullable 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, @Nullable 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