Class DefaultManagedAwareThreadFactory
java.lang.Object
org.springframework.util.CustomizableThreadCreator
org.springframework.scheduling.concurrent.CustomizableThreadFactory
org.springframework.scheduling.concurrent.DefaultManagedAwareThreadFactory
- All Implemented Interfaces:
- Serializable, ThreadFactory, InitializingBean
public class DefaultManagedAwareThreadFactory
extends CustomizableThreadFactory
implements InitializingBean
JNDI-based variant of 
CustomizableThreadFactory, performing a default lookup
for JSR-236's "java:comp/DefaultManagedThreadFactory" in a Jakarta EE environment,
falling back to the local CustomizableThreadFactory setup if not found.
This is a convenient way to use managed threads when running in a Jakarta EE environment, simply using regular local threads otherwise - without conditional setup (i.e. without profiles).
Note: This class is not strictly JSR-236 based; it can work with any regular
ThreadFactory that can be found in JNDI. Therefore,
the default JNDI name "java:comp/DefaultManagedThreadFactory" can be customized
through the "jndiName" bean property.
- Since:
- 4.0
- Author:
- Juergen Hoeller
- See Also:
- 
Field SummaryFields
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionvoidInvoked by the containingBeanFactoryafter it has set all bean properties and satisfiedBeanFactoryAware,ApplicationContextAwareetc.voidsetJndiEnvironment(Properties jndiEnvironment) Set the JNDI environment to use for JNDI lookups.voidsetJndiName(String jndiName) Specify a JNDI name of theThreadFactoryto delegate to, replacing the default JNDI name "java:comp/DefaultManagedThreadFactory".voidsetJndiTemplate(JndiTemplate jndiTemplate) Set the JNDI template to use for JNDI lookups.voidsetResourceRef(boolean resourceRef) Set whether the lookup occurs in a Jakarta EE container, i.e.
- 
Field Details- 
loggerprotected final org.apache.commons.logging.Log logger
 
- 
- 
Constructor Details- 
DefaultManagedAwareThreadFactorypublic DefaultManagedAwareThreadFactory()
 
- 
- 
Method Details- 
setJndiTemplateSet the JNDI template to use for JNDI lookups.- See Also:
 
- 
setJndiEnvironmentSet the JNDI environment to use for JNDI lookups.- See Also:
 
- 
setResourceRefpublic void setResourceRef(boolean resourceRef) Set whether the lookup occurs in a Jakarta EE container, i.e. if the prefix "java:comp/env/" needs to be added if the JNDI name doesn't already contain it. PersistenceAnnotationBeanPostProcessor's default is "true".- See Also:
 
- 
setJndiNameSpecify a JNDI name of theThreadFactoryto delegate to, replacing the default JNDI name "java:comp/DefaultManagedThreadFactory".This can either be a fully qualified JNDI name, or the JNDI name relative to the current environment naming context if "resourceRef" is set to "true". - See Also:
 
- 
afterPropertiesSetDescription copied from interface:InitializingBeanInvoked by the containingBeanFactoryafter it has set all bean properties and satisfiedBeanFactoryAware,ApplicationContextAwareetc.This method allows the bean instance to perform validation of its overall configuration and final initialization when all bean properties have been set. - Specified by:
- afterPropertiesSetin interface- InitializingBean
- Throws:
- NamingException
 
- 
newThread- Specified by:
- newThreadin interface- ThreadFactory
- Overrides:
- newThreadin class- CustomizableThreadFactory
 
 
-