Class JndiLocatorDelegate


public class JndiLocatorDelegate extends JndiLocatorSupport
JndiLocatorSupport subclass with public lookup methods, for convenient use as a delegate.
Since:
3.0.1
Author:
Juergen Hoeller
  • Field Details

    • IGNORE_JNDI_PROPERTY_NAME

      public static final String IGNORE_JNDI_PROPERTY_NAME
      System property that instructs Spring to ignore a default JNDI environment, i.e. to always return false from isDefaultJndiEnvironmentAvailable().

      The default is "false", allowing for regular default JNDI access, for example, in JndiPropertySource. Switching this flag to true is an optimization for scenarios where nothing is ever to be found for such JNDI fallback searches to begin with, avoiding the repeated JNDI lookup overhead.

      Note that this flag just affects JNDI fallback searches, not explicitly configured JNDI lookups such as for a DataSource or some other environment resource. The flag literally just affects code which attempts JNDI searches based on the JndiLocatorDelegate.isDefaultJndiEnvironmentAvailable() check: in particular, StandardServletEnvironment and StandardPortletEnvironment.

      Since:
      4.3
      See Also:
  • Constructor Details

    • JndiLocatorDelegate

      public JndiLocatorDelegate()
  • Method Details

    • lookup

      public Object lookup(String jndiName) throws NamingException
      Description copied from class: JndiLocatorSupport
      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".

      Overrides:
      lookup in class JndiLocatorSupport
      Parameters:
      jndiName - the JNDI name to look up
      Returns:
      the obtained object
      Throws:
      NamingException - if the JNDI lookup failed
      See Also:
    • lookup

      public <T> T lookup(String jndiName, @Nullable Class<T> requiredType) throws NamingException
      Description copied from class: JndiLocatorSupport
      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".

      Overrides:
      lookup in class JndiLocatorSupport
      Parameters:
      jndiName - the JNDI name to look up
      requiredType - the required type of the object
      Returns:
      the obtained object
      Throws:
      NamingException - if the JNDI lookup failed
      See Also:
    • createDefaultResourceRefLocator

      public static JndiLocatorDelegate createDefaultResourceRefLocator()
      Configure a JndiLocatorDelegate with its "resourceRef" property set to true, meaning that all names will be prefixed with "java:comp/env/".
      See Also:
    • isDefaultJndiEnvironmentAvailable

      public static boolean isDefaultJndiEnvironmentAvailable()
      Check whether a default JNDI environment, as in a Jakarta EE environment, is available on this JVM.
      Returns:
      true if a default InitialContext can be used, false if not