org.springframework.jndi

## Class JndiLocatorDelegate

- java.lang.Object
- - org.springframework.jndi.JndiAccessor
  - - org.springframework.jndi.JndiLocatorSupport
    - - org.springframework.jndi.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 Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static String` | `IGNORE_JNDI_PROPERTY_NAME` System property that instructs Spring to ignore a default JNDI environment, i.e.

    - ### Fields inherited from class org.springframework.jndi.JndiLocatorSupport

      `CONTAINER_PREFIX`

    - ### Fields inherited from class org.springframework.jndi.JndiAccessor

      `logger`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `JndiLocatorDelegate()`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static JndiLocatorDelegate` | `createDefaultResourceRefLocator()` Configure a `JndiLocatorDelegate` with its "resourceRef" property set to `true`, meaning that all names will be prefixed with "java:comp/env/".
    `static boolean` | `isDefaultJndiEnvironmentAvailable()` Check whether a default JNDI environment, as in a Java EE environment, is available on this JVM.
    `Object` | `lookup(String jndiName)` Perform an actual JNDI lookup for the given name via the JndiTemplate.
    `<T> T` | `lookup(String jndiName, Class<T> requiredType)` Perform an actual JNDI lookup for the given name via the JndiTemplate.

    - ### Methods inherited from class org.springframework.jndi.JndiLocatorSupport

      `convertJndiName, isResourceRef, setResourceRef`

    - ### Methods inherited from class org.springframework.jndi.JndiAccessor

      `getJndiEnvironment, getJndiTemplate, setJndiEnvironment, setJndiTemplate`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### 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 e.g. 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:
        `isDefaultJndiEnvironmentAvailable()`, `JndiPropertySource`, Constant Field Values

  - ### Constructor Detail

    - #### JndiLocatorDelegate

          public JndiLocatorDelegate()

  - ### Method Detail

    - #### 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:
        `JndiLocatorSupport.setResourceRef(boolean)`

    - #### 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:
        `JndiLocatorSupport.setResourceRef(boolean)`

    - #### 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:
        `JndiLocatorSupport.setResourceRef(boolean)`

    - #### isDefaultJndiEnvironmentAvailable

          public static boolean isDefaultJndiEnvironmentAvailable()

      Check whether a default JNDI environment, as in a Java EE environment, is available on this JVM.
      Returns:
        `true` if a default InitialContext can be used, `false` if not