public abstract class JndiObjectLocator extends JndiLocatorSupport implements InitializingBean
Exposes a "jndiName"
property. This may or may not
include the "java:comp/env/" prefix expected by Java EE applications when
accessing a locally mapped (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.
Subclasses may invoke the lookup()
method whenever it is appropriate.
Some classes might do this on initialization, while others might do it
on demand. The latter strategy is more flexible in that it allows for
initialization of the locator before the JNDI object is available.
setJndiName(java.lang.String)
,
JndiAccessor.setJndiTemplate(org.springframework.jndi.JndiTemplate)
,
JndiAccessor.setJndiEnvironment(java.util.Properties)
,
JndiLocatorSupport.setResourceRef(boolean)
,
lookup()
CONTAINER_PREFIX
logger
Constructor and Description |
---|
JndiObjectLocator() |
Modifier and Type | Method and Description |
---|---|
void |
afterPropertiesSet()
Invoked by the containing
BeanFactory after it has set all bean properties
and satisfied BeanFactoryAware , ApplicationContextAware etc. |
java.lang.Class<?> |
getExpectedType()
Return the type that the located JNDI object is supposed
to be assignable to, if any.
|
java.lang.String |
getJndiName()
Return the JNDI name to look up.
|
protected java.lang.Object |
lookup()
Perform the actual JNDI lookup for this locator's target resource.
|
void |
setExpectedType(java.lang.Class<?> expectedType)
Specify the type that the located JNDI object is supposed
to be assignable to, if any.
|
void |
setJndiName(java.lang.String jndiName)
Specify the JNDI name to look up.
|
convertJndiName, isResourceRef, lookup, lookup, setResourceRef
getJndiEnvironment, getJndiTemplate, setJndiEnvironment, setJndiTemplate
public void setJndiName(@Nullable java.lang.String jndiName)
jndiName
- the JNDI name to look upJndiLocatorSupport.setResourceRef(boolean)
@Nullable public java.lang.String getJndiName()
public void setExpectedType(@Nullable java.lang.Class<?> expectedType)
@Nullable public java.lang.Class<?> getExpectedType()
public void afterPropertiesSet() throws java.lang.IllegalArgumentException, javax.naming.NamingException
InitializingBean
BeanFactory
after it has set all bean properties
and satisfied BeanFactoryAware
, ApplicationContextAware
etc.
This method allows the bean instance to perform validation of its overall configuration and final initialization when all bean properties have been set.
afterPropertiesSet
in interface InitializingBean
java.lang.IllegalArgumentException
javax.naming.NamingException
protected java.lang.Object lookup() throws javax.naming.NamingException
javax.naming.NamingException
- if the JNDI lookup failed or if the
located JNDI object is not assigable to the expected typesetJndiName(java.lang.String)
,
setExpectedType(java.lang.Class<?>)
,
JndiLocatorSupport.lookup(String, Class)