org.jboss.netty.util

## Class ThreadRenamingRunnable

- java.lang.Object
- - org.jboss.netty.util.ThreadRenamingRunnable

All Implemented Interfaces:
  Runnable

    public class ThreadRenamingRunnable
    extends Object
    implements Runnable

A `Runnable` that changes the current thread name and reverts it back when its execution ends. To change the default thread names set by Netty, use `setThreadNameDeterminer(ThreadNameDeterminer)`.

### Constructor Summary

Constructors
Constructor and Description
`ThreadRenamingRunnable(Runnable runnable, String proposedThreadName)` Creates a new instance which wraps the specified `runnable` and changes the thread name to the specified thread name when the specified `runnable` is running.

### Method Summary

Methods
`static ThreadNameDeterminer` `getThreadNameDeterminer()` Returns the `ThreadNameDeterminer` which overrides the proposed new thread name.
`void` `run()`
`static void` `setThreadNameDeterminer(ThreadNameDeterminer threadNameDeterminer)` Sets the `ThreadNameDeterminer` which overrides the proposed new thread name.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### ThreadRenamingRunnable

    public ThreadRenamingRunnable(Runnable runnable,
                          String proposedThreadName)

Creates a new instance which wraps the specified `runnable` and changes the thread name to the specified thread name when the specified `runnable` is running.

### Method Detail

#### getThreadNameDeterminer

    public static ThreadNameDeterminer getThreadNameDeterminer()

Returns the `ThreadNameDeterminer` which overrides the proposed new thread name.

#### setThreadNameDeterminer

    public static void setThreadNameDeterminer(ThreadNameDeterminer threadNameDeterminer)

Sets the `ThreadNameDeterminer` which overrides the proposed new thread name. Please note that the specified `ThreadNameDeterminer` affects only new `ThreadRenamingRunnable`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 interface `Runnable`