Class JndiManager

  • All Implemented Interfaces:
    java.lang.AutoCloseable

    public class JndiManager
    extends AbstractManager
    Manages a JNDI DirContext.
    Since:
    2.1
    • Constructor Detail

      • JndiManager

        private JndiManager​(java.lang.String name,
                            javax.naming.InitialContext context)
    • Method Detail

      • isJndiEnabled

        private static boolean isJndiEnabled​(java.lang.String subKey)
      • isJndiEnabled

        public static boolean isJndiEnabled()
        Tests whether any JNDI system properties are currently enabled.
        Returns:
        whether any JNDI system properties are currently enabled.
      • isJndiContextSelectorEnabled

        public static boolean isJndiContextSelectorEnabled()
        Tests whether the JNDI system properties for ContextSelector is currently enabled.
        Returns:
        whether the JNDI system properties for ContextSelector is currently enabled.
      • isJndiJdbcEnabled

        public static boolean isJndiJdbcEnabled()
        Tests whether the JNDI system properties for JDBC is currently enabled.
        Returns:
        whether the JNDI system properties for JDBC is currently enabled.
      • isJndiJmsEnabled

        public static boolean isJndiJmsEnabled()
        Tests whether the JNDI system properties for JMS is currently enabled.
        Returns:
        whether the JNDI system properties for JMS is currently enabled.
      • isJndiLookupEnabled

        public static boolean isJndiLookupEnabled()
        Tests whether the JNDI system properties for Lookup is currently enabled.
        Returns:
        whether the JNDI system properties for Lookup is currently enabled.
      • getDefaultManager

        public static JndiManager getDefaultManager()
        Gets the default JndiManager using the default InitialContext.
        Returns:
        the default JndiManager
      • getDefaultManager

        public static JndiManager getDefaultManager​(java.lang.String name)
        Gets a named JndiManager using the default InitialContext.
        Parameters:
        name - the name of the JndiManager instance to create or use if available
        Returns:
        a default JndiManager
      • getJndiManager

        public static JndiManager getJndiManager​(java.lang.String initialContextFactoryName,
                                                 java.lang.String providerURL,
                                                 java.lang.String urlPkgPrefixes,
                                                 java.lang.String securityPrincipal,
                                                 java.lang.String securityCredentials,
                                                 java.util.Properties additionalProperties)
        Gets a JndiManager with the provided configuration information.
        Parameters:
        initialContextFactoryName - Fully qualified class name of an implementation of InitialContextFactory.
        providerURL - The provider URL to use for the JNDI connection (specific to the above factory).
        urlPkgPrefixes - A colon-separated list of package prefixes for the class name of the factory class that will create a URL context factory
        securityPrincipal - The name of the identity of the Principal.
        securityCredentials - The security credentials of the Principal.
        additionalProperties - Any additional JNDI environment properties to set or null for none.
        Returns:
        the JndiManager for the provided parameters.
      • createManagerName

        private static java.lang.String createManagerName()
      • createProperties

        public static java.util.Properties createProperties​(java.lang.String initialContextFactoryName,
                                                            java.lang.String providerURL,
                                                            java.lang.String urlPkgPrefixes,
                                                            java.lang.String securityPrincipal,
                                                            java.lang.String securityCredentials,
                                                            java.util.Properties additionalProperties)
        Creates JNDI Properties with the provided configuration information.
        Parameters:
        initialContextFactoryName - Fully qualified class name of an implementation of InitialContextFactory.
        providerURL - The provider URL to use for the JNDI connection (specific to the above factory).
        urlPkgPrefixes - A colon-separated list of package prefixes for the class name of the factory class that will create a URL context factory
        securityPrincipal - The name of the identity of the Principal.
        securityCredentials - The security credentials of the Principal.
        additionalProperties - Any additional JNDI environment properties to set or null for none.
        Returns:
        the Properties for the provided parameters.
        Since:
        2.9
      • releaseSub

        protected boolean releaseSub​(long timeout,
                                     java.util.concurrent.TimeUnit timeUnit)
        Description copied from class: AbstractManager
        May be overridden by managers to perform processing while the manager is being released and the lock is held. A timeout is passed for implementors to use as they see fit.
        Overrides:
        releaseSub in class AbstractManager
        Parameters:
        timeout - timeout
        timeUnit - timeout time unit
        Returns:
        true if all resources were closed normally, false otherwise.
      • lookup

        public <T> T lookup​(java.lang.String name)
                     throws javax.naming.NamingException
        Looks up a named object through this JNDI context.
        Type Parameters:
        T - the type of the object.
        Parameters:
        name - name of the object to look up.
        Returns:
        the named object if it could be located.
        Throws:
        javax.naming.NamingException - if a naming exception is encountered
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object