Package org.springframework.util
Class CustomizableThreadCreator
java.lang.Object
org.springframework.util.CustomizableThreadCreator
- All Implemented Interfaces:
Serializable
- Direct Known Subclasses:
CustomizableThreadFactory
,SimpleAsyncTaskExecutor
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 Summary
ConstructorDescriptionCreate a new CustomizableThreadCreator with default thread name prefix.CustomizableThreadCreator
(String threadNamePrefix) Create a new CustomizableThreadCreator with the given thread name prefix. -
Method Summary
Modifier and TypeMethodDescriptioncreateThread
(Runnable runnable) Template method for the creation of a newThread
.protected String
Build the default thread name prefix for this factory.Return the thread group that threads should be created in (ornull
for the default group).Return the thread name prefix to use for the names of newly created threads.int
Return the priority of the threads that this factory creates.boolean
isDaemon()
Return whether this factory should create daemon threads.protected String
Return the thread name to use for a newly createdThread
.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.
-
Constructor Details
-
CustomizableThreadCreator
public CustomizableThreadCreator()Create a new CustomizableThreadCreator with default thread name prefix. -
CustomizableThreadCreator
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
Specify the prefix to use for the names of newly created threads. Default is "SimpleAsyncTaskExecutor-". -
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
Specify the name of the thread group that threads should be created in.- See Also:
-
setThreadGroup
Specify the thread group that threads should be created in.- See Also:
-
getThreadGroup
Return the thread group that threads should be created in (ornull
for the default group). -
createThread
Template method for the creation of a newThread
.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
Return the thread name to use for a newly createdThread
.The default implementation returns the specified thread name prefix with an increasing thread count appended: for example, "SimpleAsyncTaskExecutor-0".
- See Also:
-
getDefaultThreadNamePrefix
Build the default thread name prefix for this factory.- Returns:
- the default thread name prefix (never
null
)
-