org.springframework.util

Class CustomizableThreadCreator

  • All Implemented Interfaces:
    Serializable
    Direct Known Subclasses:
    SimpleAsyncTaskExecutor

    public class CustomizableThreadCreator
    extends Object
    implements Serializable
    Simple customizable helper class for creating new Thread instances. Provides various bean properties: thread name prefix, thread priority, etc.

    Serves as base class for thread factories such as org.springframework.scheduling.concurrent.CustomizableThreadFactory.

    Since:
    2.0.3
    Author:
    Juergen Hoeller
    See Also:
    org.springframework.scheduling.concurrent.CustomizableThreadFactory, Serialized Form
    • Constructor Detail

      • CustomizableThreadCreator

        public CustomizableThreadCreator()
        Create a new CustomizableThreadCreator with default thread name prefix.
      • CustomizableThreadCreator

        public CustomizableThreadCreator(String threadNamePrefix)
        Create a new CustomizableThreadCreator with the given thread name prefix.
        Parameters:
        threadNamePrefix - the prefix to use for the names of newly created threads
    • Method Detail

      • setThreadNamePrefix

        public void setThreadNamePrefix(String threadNamePrefix)
        Specify the prefix to use for the names of newly created threads. Default is "SimpleAsyncTaskExecutor-".
      • getThreadNamePrefix

        public String getThreadNamePrefix()
        Return the thread name prefix to use for the names of newly created threads.
      • setThreadPriority

        public void setThreadPriority(int threadPriority)
        Set the priority of the threads that this factory creates. Default is 5.
        See Also:
        Thread.NORM_PRIORITY
      • getThreadPriority

        public int getThreadPriority()
        Return the priority of the threads that this factory creates.
      • setDaemon

        public void setDaemon(boolean daemon)
        Set whether this factory is supposed to create daemon threads, just executing as long as the application itself is running.

        Default is "false": Concrete factories usually support explicit cancelling. Hence, if the application shuts down, Runnables will by default finish their execution.

        Specify "true" for eager shutdown of threads which still actively execute a Runnable at the time that the application itself shuts down.

        See Also:
        Thread.setDaemon(boolean)
      • isDaemon

        public boolean isDaemon()
        Return whether this factory should create daemon threads.
      • getThreadGroup

        public ThreadGroup getThreadGroup()
        Return the thread group that threads should be created in (or null for the default group).
      • createThread

        public Thread createThread(Runnable runnable)
        Template method for the creation of a new Thread.

        The default implementation creates a new Thread for the given Runnable, applying an appropriate thread name.

        Parameters:
        runnable - the Runnable to execute
        See Also:
        nextThreadName()
      • nextThreadName

        protected String nextThreadName()
        Return the thread name to use for a newly created Thread.

        The default implementation returns the specified thread name prefix with an increasing thread count appended: e.g. "SimpleAsyncTaskExecutor-0".

        See Also:
        getThreadNamePrefix()
      • getDefaultThreadNamePrefix

        protected String getDefaultThreadNamePrefix()
        Build the default thread name prefix for this factory.
        Returns:
        the default thread name prefix (never null)