Class JndiManager
- java.lang.Object
-
- org.apache.logging.log4j.core.appender.AbstractManager
-
- org.apache.logging.log4j.core.net.JndiManager
-
- All Implemented Interfaces:
AutoCloseable
public class JndiManager extends AbstractManager
Manages a JNDIContext
.- Since:
- 2.1
-
-
Field Summary
-
Fields inherited from class org.apache.logging.log4j.core.appender.AbstractManager
count, LOGGER
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static Properties
createProperties(String initialContextFactoryName, String providerURL, String urlPkgPrefixes, String securityPrincipal, String securityCredentials, Properties additionalProperties)
Creates JNDI Properties with the provided configuration information.static JndiManager
getDefaultManager()
Gets the default JndiManager using the defaultInitialContext
.static JndiManager
getDefaultManager(String name)
Gets a named JndiManager using the defaultInitialContext
.static JndiManager
getJndiManager(String initialContextFactoryName, String providerURL, String urlPkgPrefixes, String securityPrincipal, String securityCredentials, Properties additionalProperties)
Gets a JndiManager with the provided configuration information.static JndiManager
getJndiManager(Properties properties)
Gets a JndiManager with the provided configuration information.<T> T
lookup(String name)
Looks up a named object through this JNDI context.protected boolean
releaseSub(long timeout, TimeUnit timeUnit)
May be overridden by managers to perform processing while the manager is being released and the lock is held.String
toString()
-
Methods inherited from class org.apache.logging.log4j.core.appender.AbstractManager
close, getContentFormat, getCount, getLoggerContext, getManager, getName, hasManager, log, logDebug, logError, logger, logWarn, narrow, release, stop, updateData
-
-
-
-
Method Detail
-
getDefaultManager
public static JndiManager getDefaultManager()
Gets the default JndiManager using the defaultInitialContext
.- Returns:
- the default JndiManager
-
getDefaultManager
public static JndiManager getDefaultManager(String name)
Gets a named JndiManager using the defaultInitialContext
.- Parameters:
name
- the name of the JndiManager instance to create or use if available- Returns:
- a default JndiManager
-
getJndiManager
public static JndiManager getJndiManager(String initialContextFactoryName, String providerURL, String urlPkgPrefixes, String securityPrincipal, String securityCredentials, Properties additionalProperties)
Gets a JndiManager with the provided configuration information.- Parameters:
initialContextFactoryName
- Fully qualified class name of an implementation ofInitialContextFactory
.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 factorysecurityPrincipal
- The name of the identity of the Principal.securityCredentials
- The security credentials of the Principal.additionalProperties
- Any additional JNDI environment properties to set ornull
for none.- Returns:
- the JndiManager for the provided parameters.
-
getJndiManager
public static JndiManager getJndiManager(Properties properties)
Gets a JndiManager with the provided configuration information.- Parameters:
properties
- JNDI properties, usually created by callingcreateProperties(String, String, String, String, String, Properties)
.- Returns:
- the JndiManager for the provided parameters.
- Since:
- 2.9
- See Also:
createProperties(String, String, String, String, String, Properties)
-
createProperties
public static Properties createProperties(String initialContextFactoryName, String providerURL, String urlPkgPrefixes, String securityPrincipal, String securityCredentials, Properties additionalProperties)
Creates JNDI Properties with the provided configuration information.- Parameters:
initialContextFactoryName
- Fully qualified class name of an implementation ofInitialContextFactory
.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 factorysecurityPrincipal
- The name of the identity of the Principal.securityCredentials
- The security credentials of the Principal.additionalProperties
- Any additional JNDI environment properties to set ornull
for none.- Returns:
- the Properties for the provided parameters.
- Since:
- 2.9
-
releaseSub
protected boolean releaseSub(long timeout, 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 classAbstractManager
- Parameters:
timeout
- timeouttimeUnit
- timeout time unit- Returns:
- true if all resources were closed normally, false otherwise.
-
lookup
public <T> T lookup(String name) throws 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:
NamingException
- if a naming exception is encountered
-
-