Package org.jboss.netty.util
Class ThreadRenamingRunnable
- java.lang.Object
-
- org.jboss.netty.util.ThreadRenamingRunnable
-
- All Implemented Interfaces:
java.lang.Runnable
public class ThreadRenamingRunnable extends java.lang.Object implements java.lang.Runnable
ARunnable
that changes the current thread name and reverts it back when its execution ends. To change the default thread names set by Netty, usesetThreadNameDeterminer(ThreadNameDeterminer)
.
-
-
Field Summary
Fields Modifier and Type Field Description private ThreadNameDeterminer
determiner
private static InternalLogger
logger
private java.lang.String
proposedThreadName
private java.lang.Runnable
runnable
private static ThreadNameDeterminer
threadNameDeterminer
-
Constructor Summary
Constructors Constructor Description ThreadRenamingRunnable(java.lang.Runnable runnable, java.lang.String proposedThreadName)
ThreadRenamingRunnable(java.lang.Runnable runnable, java.lang.String proposedThreadName, ThreadNameDeterminer determiner)
Creates a new instance which wraps the specifiedrunnable
and changes the thread name to the specified thread name when the specifiedrunnable
is running.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private java.lang.String
getNewThreadName(java.lang.String currentThreadName)
static ThreadNameDeterminer
getThreadNameDeterminer()
Returns theThreadNameDeterminer
which overrides the proposed new thread name.void
run()
static void
setThreadNameDeterminer(ThreadNameDeterminer threadNameDeterminer)
Sets theThreadNameDeterminer
which overrides the proposed new thread name.
-
-
-
Field Detail
-
logger
private static final InternalLogger logger
-
threadNameDeterminer
private static volatile ThreadNameDeterminer threadNameDeterminer
-
determiner
private final ThreadNameDeterminer determiner
-
runnable
private final java.lang.Runnable runnable
-
proposedThreadName
private final java.lang.String proposedThreadName
-
-
Constructor Detail
-
ThreadRenamingRunnable
public ThreadRenamingRunnable(java.lang.Runnable runnable, java.lang.String proposedThreadName, ThreadNameDeterminer determiner)
Creates a new instance which wraps the specifiedrunnable
and changes the thread name to the specified thread name when the specifiedrunnable
is running.
-
ThreadRenamingRunnable
public ThreadRenamingRunnable(java.lang.Runnable runnable, java.lang.String proposedThreadName)
-
-
Method Detail
-
getThreadNameDeterminer
public static ThreadNameDeterminer getThreadNameDeterminer()
Returns theThreadNameDeterminer
which overrides the proposed new thread name.
-
setThreadNameDeterminer
public static void setThreadNameDeterminer(ThreadNameDeterminer threadNameDeterminer)
Sets theThreadNameDeterminer
which overrides the proposed new thread name. Please note that the specifiedThreadNameDeterminer
affects only newThreadRenamingRunnable
s; the existing instances are not affected at all. Therefore, you should make sure to call this method at the earliest possible point (i.e. before any Netty worker thread starts) for consistent thread naming. Otherwise, you might see the default thread names and the new names appear at the same time in the full thread dump.
-
run
public void run()
- Specified by:
run
in interfacejava.lang.Runnable
-
getNewThreadName
private java.lang.String getNewThreadName(java.lang.String currentThreadName)
-
-