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
    Modifier and Type | Method and Description
    --- | ---
    `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`

Copyright © 2008-2012 The Netty Project. All Rights Reserved.