Class CustomizableThreadCreator

java.lang.Object
org.springframework.util.CustomizableThreadCreator
All Implemented Interfaces:
Serializable
Direct Known Subclasses:
CustomizableThreadFactory, 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 CustomizableThreadFactory.

Since:
2.0.3
Author:
Juergen Hoeller
See Also:
  • Constructor Details

    • CustomizableThreadCreator

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

      public CustomizableThreadCreator(@Nullable 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 Details

    • setThreadNamePrefix

      public void setThreadNamePrefix(@Nullable 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:
    • 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:
    • isDaemon

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

      public void setThreadGroupName(String name)
      Specify the name of the thread group that threads should be created in.
      See Also:
    • setThreadGroup

      public void setThreadGroup(@Nullable ThreadGroup threadGroup)
      Specify the thread group that threads should be created in.
      See Also:
    • getThreadGroup

      @Nullable 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

      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: for example, "SimpleAsyncTaskExecutor-0".

      See Also:
    • getDefaultThreadNamePrefix

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