org.springframework.util
Class CustomizableThreadCreator

java.lang.Object
  extended by org.springframework.util.CustomizableThreadCreator
All Implemented Interfaces:
Serializable
Direct Known Subclasses:
CustomizableThreadFactory, CustomizableThreadFactory, SimpleAsyncTaskExecutor

public class CustomizableThreadCreator
extends Object
implements Serializable

Simple customizable helper class for creating threads. Provides various bean properties, such as 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:
CustomizableThreadFactory, Serialized Form

Constructor Summary
CustomizableThreadCreator()
          Create a new CustomizableThreadCreator with default thread name prefix.
CustomizableThreadCreator(String threadNamePrefix)
          Create a new CustomizableThreadCreator with the given thread name prefix.
 
Method Summary
 Thread createThread(Runnable runnable)
          Template method for the creation of a Thread.
protected  String getDefaultThreadNamePrefix()
          Build the default thread name prefix for this factory.
 ThreadGroup getThreadGroup()
          Return the thread group that threads should be created in (or null) for the default group.
 String getThreadNamePrefix()
          Return the thread name prefix to use for the names of newly created threads.
 int getThreadPriority()
          Return the priority of the threads that this factory creates.
 boolean isDaemon()
          Return whether this factory should create daemon threads.
protected  String nextThreadName()
          Return the thread name to use for a newly created thread.
 void setDaemon(boolean daemon)
          Set whether this factory is supposed to create daemon threads, just executing as long as the application itself is running.
 void setThreadGroup(ThreadGroup threadGroup)
          Specify the thread group that threads should be created in.
 void setThreadGroupName(String name)
          Specify the name of the thread group that threads should be created in.
 void setThreadNamePrefix(String threadNamePrefix)
          Specify the prefix to use for the names of newly created threads.
 void setThreadPriority(int threadPriority)
          Set the priority of the threads that this factory creates.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

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.

See Also:
Thread.setDaemon(boolean)

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(java.lang.ThreadGroup)

setThreadGroup

public void setThreadGroup(ThreadGroup threadGroup)
Specify the thread group that threads should be created in.

See Also:
setThreadGroupName(java.lang.String)

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 Thread.

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.

Default implementation returns the specified thread name prefix with an increasing thread count appended: for example, "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)