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)
This implementation looks up and returns the value associated with the given
name from the underlying
JndiLocatorDelegate . |
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
.@Nullable public Object getProperty(String name)
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)