org.springframework.jndi

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 Detail

      • IGNORE_JNDI_PROPERTY_NAME

        public static final java.lang.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 java.lang.Object lookup(java.lang.String jndiName)
                                throws javax.naming.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:
        javax.naming.NamingException - if the JNDI lookup failed
        See Also:
        JndiLocatorSupport.setResourceRef(boolean)
      • lookup

        public <T> T lookup(java.lang.String jndiName,
                            @Nullable
                            java.lang.Class<T> requiredType)
                     throws javax.naming.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:
        javax.naming.NamingException - if the JNDI lookup failed
        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