Class JndiLocatorSupport
- java.lang.Object
- org.springframework.jndi.JndiAccessor
- org.springframework.jndi.JndiLocatorSupport
- Direct Known Subclasses:
ContextJndiBeanFactoryLocator
,JndiDataSourceLookup
,JndiDestinationResolver
,JndiLocatorDelegate
,JndiObjectLocator
,SimpleJndiBeanFactory
,TimerManagerAccessor
,WorkManagerTaskExecutor
,WorkManagerTaskExecutor
public abstract class JndiLocatorSupport extends JndiAccessor
Convenient superclass for classes that can locate any number of JNDI objects. Derives from JndiAccessor to inherit the "jndiTemplate" and "jndiEnvironment" bean properties.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.
- Since:
- 1.1
- Author:
- Juergen Hoeller
- See Also:
JndiAccessor.setJndiTemplate(org.springframework.jndi.JndiTemplate)
,JndiAccessor.setJndiEnvironment(java.util.Properties)
,setResourceRef(boolean)
Field Summary
Fields Modifier and Type Field Description static String
CONTAINER_PREFIX
JNDI prefix used in a J2EE containerFields inherited from class org.springframework.jndi.JndiAccessor
logger
Constructor Summary
Constructors Constructor Description JndiLocatorSupport()
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected String
convertJndiName(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 Object
lookup(String jndiName)
Perform an actual JNDI lookup for the given name via the JndiTemplate.protected <T> T
lookup(String jndiName, 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.Methods inherited from class org.springframework.jndi.JndiAccessor
getJndiEnvironment, getJndiTemplate, setJndiEnvironment, setJndiTemplate
Field Detail
CONTAINER_PREFIX
public static final String CONTAINER_PREFIX
JNDI prefix used in a J2EE container- See Also:
- Constant Field Values
Constructor Detail
JndiLocatorSupport
public JndiLocatorSupport()
Method Detail
setResourceRef
public void setResourceRef(boolean resourceRef)
Set whether the lookup occurs in a J2EE container, i.e. if the prefix "java:comp/env/" needs to be added if the JNDI name doesn't already contain it. Default is "false".Note: Will only get applied if no other scheme (e.g. "java:") is given.
isResourceRef
public boolean isResourceRef()
Return whether the lookup occurs in a J2EE container.
lookup
protected Object lookup(String jndiName) throws NamingException
Perform an actual JNDI lookup for the given name via the JndiTemplate.If the name doesn't begin with "java:comp/env/", this prefix is added if "resourceRef" is set to "true".
- Parameters:
jndiName
- the JNDI name to look up- Returns:
- the obtained object
- Throws:
NamingException
- if the JNDI lookup failed- See Also:
setResourceRef(boolean)
lookup
protected <T> T lookup(String jndiName, Class<T> requiredType) throws NamingException
Perform an actual JNDI lookup for the given name via the JndiTemplate.If the name doesn't begin with "java:comp/env/", this prefix is added if "resourceRef" is set to "true".
- Parameters:
jndiName
- the JNDI name to look uprequiredType
- the required type of the object- Returns:
- the obtained object
- Throws:
NamingException
- if the JNDI lookup failed- See Also:
setResourceRef(boolean)
convertJndiName
protected String convertJndiName(String jndiName)
Convert the given JNDI name into the actual JNDI name to use.The default implementation applies the "java:comp/env/" prefix if "resourceRef" is "true" and no other scheme (e.g. "java:") is given.
- Parameters:
jndiName
- the original JNDI name- Returns:
- the JNDI name to use
- See Also:
CONTAINER_PREFIX
,setResourceRef(boolean)