Class DefaultManagedAwareThreadFactory
java.lang.Object
org.springframework.util.CustomizableThreadCreator
org.springframework.scheduling.concurrent.CustomizableThreadFactory
org.springframework.scheduling.concurrent.DefaultManagedAwareThreadFactory
- All Implemented Interfaces:
Serializable
,ThreadFactory
,org.springframework.beans.factory.InitializingBean
public class DefaultManagedAwareThreadFactory
extends CustomizableThreadFactory
implements org.springframework.beans.factory.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 Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
void
setJndiEnvironment
(Properties jndiEnvironment) Set the JNDI environment to use for JNDI lookups.void
setJndiName
(String jndiName) Specify a JNDI name of theThreadFactory
to delegate to, replacing the default JNDI name "java:comp/DefaultManagedThreadFactory".void
setJndiTemplate
(JndiTemplate jndiTemplate) Set the JNDI template to use for JNDI lookups.void
setResourceRef
(boolean resourceRef) Set whether the lookup occurs in a Jakarta EE container, i.e.Methods inherited from class org.springframework.util.CustomizableThreadCreator
createThread, getDefaultThreadNamePrefix, getThreadGroup, getThreadNamePrefix, getThreadPriority, isDaemon, nextThreadName, setDaemon, setThreadGroup, setThreadGroupName, setThreadNamePrefix, setThreadPriority
-
Field Details
-
logger
-
-
Constructor Details
-
DefaultManagedAwareThreadFactory
public DefaultManagedAwareThreadFactory()
-
-
Method Details
-
setJndiTemplate
Set the JNDI template to use for JNDI lookups. -
setJndiEnvironment
Set the JNDI environment to use for JNDI lookups. -
setResourceRef
public 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". -
setJndiName
Specify a JNDI name of theThreadFactory
to 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:
-
afterPropertiesSet
- Specified by:
afterPropertiesSet
in interfaceorg.springframework.beans.factory.InitializingBean
- Throws:
NamingException
-
newThread
- Specified by:
newThread
in interfaceThreadFactory
- Overrides:
newThread
in classCustomizableThreadFactory
-