public abstract class JndiLocatorSupport extends JndiAccessor
JNDI names may or may not include the "java:comp/env/" prefix expected by J2EE applications when accessing a locally mapped (ENC - Environmental Naming Context) resource. If it doesn't, the "java:comp/env/" prefix will be prepended if the "resourceRef" property is true (the default is false) and no other scheme (e.g. "java:") is given.
JndiAccessor.setJndiTemplate(org.springframework.jndi.JndiTemplate),
JndiAccessor.setJndiEnvironment(java.util.Properties),
setResourceRef(boolean)| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
CONTAINER_PREFIX
JNDI prefix used in a J2EE container
|
logger| Constructor and Description |
|---|
JndiLocatorSupport() |
| Modifier and Type | Method and Description |
|---|---|
protected java.lang.String |
convertJndiName(java.lang.String jndiName)
Convert the given JNDI name into the actual JNDI name to use.
|
boolean |
isResourceRef()
Return whether the lookup occurs in a J2EE container.
|
protected java.lang.Object |
lookup(java.lang.String jndiName)
Perform an actual JNDI lookup for the given name via the JndiTemplate.
|
protected <T> T |
lookup(java.lang.String jndiName,
java.lang.Class<T> requiredType)
Perform an actual JNDI lookup for the given name via the JndiTemplate.
|
void |
setResourceRef(boolean resourceRef)
Set whether the lookup occurs in a J2EE container, i.e.
|
getJndiEnvironment, getJndiTemplate, setJndiEnvironment, setJndiTemplatepublic static final java.lang.String CONTAINER_PREFIX
public void setResourceRef(boolean resourceRef)
Note: Will only get applied if no other scheme (e.g. "java:") is given.
public boolean isResourceRef()
protected java.lang.Object lookup(java.lang.String jndiName)
throws javax.naming.NamingException
If the name doesn't begin with "java:comp/env/", this prefix is added if "resourceRef" is set to "true".
jndiName - the JNDI name to look upjavax.naming.NamingException - if the JNDI lookup failedsetResourceRef(boolean)protected <T> T lookup(java.lang.String jndiName,
java.lang.Class<T> requiredType)
throws javax.naming.NamingException
If the name doesn't begin with "java:comp/env/", this prefix is added if "resourceRef" is set to "true".
jndiName - the JNDI name to look uprequiredType - the required type of the objectjavax.naming.NamingException - if the JNDI lookup failedsetResourceRef(boolean)protected java.lang.String convertJndiName(java.lang.String jndiName)
The default implementation applies the "java:comp/env/" prefix if "resourceRef" is "true" and no other scheme (e.g. "java:") is given.
jndiName - the original JNDI nameCONTAINER_PREFIX,
setResourceRef(boolean)