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
    Modifier and Type
    Field
    Description
    protected final org.apache.commons.logging.Log
     
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
     
    newThread(Runnable runnable)
     
    void
    setJndiEnvironment(Properties jndiEnvironment)
    Set the JNDI environment to use for JNDI lookups.
    void
    setJndiName(String jndiName)
    Specify a JNDI name of the ThreadFactory to delegate to, replacing the default JNDI name "java:comp/DefaultManagedThreadFactory".
    void
    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

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • logger

      protected final org.apache.commons.logging.Log logger
  • Constructor Details

    • DefaultManagedAwareThreadFactory

      public DefaultManagedAwareThreadFactory()
  • Method Details