public class JndiPropertySource extends PropertySource<JndiLocatorDelegate>
PropertySource
implementation that reads properties from an underlying Spring
JndiLocatorDelegate
.
By default, the underlying JndiLocatorDelegate
will be configured with its
"resourceRef"
property set to
true
, meaning that names looked up will automatically be prefixed with
"java:comp/env/" in alignment with published
JNDI
naming conventions. To override this setting or to change the prefix, manually
configure a JndiLocatorDelegate
and provide it to one of the constructors here
that accepts it. The same applies when providing custom JNDI properties. These should
be specified using JndiAccessor.setJndiEnvironment(java.util.Properties)
prior to construction of the JndiPropertySource
.
Note that StandardServletEnvironment
includes a JndiPropertySource
by default, and any
customization of the underlying JndiLocatorDelegate
may be performed within an
ApplicationContextInitializer
or WebApplicationInitializer
.
JndiLocatorDelegate
,
ApplicationContextInitializer
,
WebApplicationInitializer
,
StandardServletEnvironment
PropertySource.StubPropertySource
logger, name, source
Constructor and Description |
---|
JndiPropertySource(String name)
Create a new
JndiPropertySource with the given name
and a JndiLocatorDelegate configured to prefix any names with
"java:comp/env/". |
JndiPropertySource(String name,
JndiLocatorDelegate jndiLocator)
Create a new
JndiPropertySource with the given name and the given
JndiLocatorDelegate . |
Modifier and Type | Method and Description |
---|---|
Object |
getProperty(String name)
Return the value associated with the given name,
or
null if not found. |
containsProperty, equals, getName, getSource, hashCode, named, toString
public JndiPropertySource(String name)
JndiPropertySource
with the given name
and a JndiLocatorDelegate
configured to prefix any names with
"java:comp/env/".public JndiPropertySource(String name, JndiLocatorDelegate jndiLocator)
JndiPropertySource
with the given name and the given
JndiLocatorDelegate
.public Object getProperty(String name)
null
if not found.
This implementation looks up and returns the value associated with the given
name from the underlying JndiLocatorDelegate
. If a NamingException
is thrown during the call to JndiLocatorDelegate.lookup(String)
, returns
null
and issues a DEBUG-level log statement with the exception message.
getProperty
in class PropertySource<JndiLocatorDelegate>
name
- the property to findPropertyResolver.getRequiredProperty(String)