Class ThreadRenamingRunnable

  • All Implemented Interfaces:
    java.lang.Runnable

    public class ThreadRenamingRunnable
    extends java.lang.Object
    implements java.lang.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).
    • Field Detail

      • 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 specified runnable and changes the thread name to the specified thread name when the specified runnable is running.
      • ThreadRenamingRunnable

        public ThreadRenamingRunnable​(java.lang.Runnable runnable,
                                      java.lang.String proposedThreadName)
    • Method Detail

      • 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 ThreadRenamingRunnables; 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 java.lang.Runnable
      • getNewThreadName

        private java.lang.String getNewThreadName​(java.lang.String currentThreadName)