test_class.file: dubbo-common/src/test/java/org/apache/dubbo/common/utils/ExecutorUtilTest.java
test_class.identifier: ExecutorUtilTest
test_case.body: @Test
      public void testSetThreadName() throws Exception {
          URL url = new URL("dubbo", "localhost", 1234).addParameter(THREAD_NAME_KEY, "custom-thread");
          url = ExecutorUtil.setThreadName(url, "default-name");
          assertThat(url.getParameter(THREAD_NAME_KEY), equalTo("custom-thread-localhost:1234"));
      }
test_case.class_method_signature: ExecutorUtilTest.testSetThreadName()
test_case.full_signature: @Test public void testSetThreadName()
test_case.identifier: testSetThreadName
test_case.invocations: addParameter setThreadName assertThat getParameter equalTo
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testSetThreadName()
focal_class.declarator: logger = LoggerFactory.getLogger(ExecutorUtil.class)
focal_class.modifier: private static final
focal_class.original_string: private static final Logger logger = LoggerFactory.getLogger(ExecutorUtil.class);
focal_class.type: Logger
focal_class.var_name: logger
focal_class.declarator: SHUTDOWN_EXECUTOR = new ThreadPoolExecutor(0, 1,
              0L, TimeUnit.MILLISECONDS,
              new LinkedBlockingQueue<Runnable>(100),
              new NamedThreadFactory("Close-ExecutorService-Timer", true))
focal_class.modifier: private static final
focal_class.original_string: private static final ThreadPoolExecutor SHUTDOWN_EXECUTOR = new ThreadPoolExecutor(0, 1,
              0L, TimeUnit.MILLISECONDS,
              new LinkedBlockingQueue<Runnable>(100),
              new NamedThreadFactory("Close-ExecutorService-Timer", true));
focal_class.type: ThreadPoolExecutor
focal_class.var_name: SHUTDOWN_EXECUTOR
focal_class.file: dubbo-common/src/main/java/org/apache/dubbo/common/utils/ExecutorUtil.java
focal_class.identifier: ExecutorUtil
focal_class.class_method_signature: ExecutorUtil.isTerminated(Executor executor)
focal_class.full_signature: public static boolean isTerminated(Executor executor)
focal_class.identifier: isTerminated
focal_class.modifiers: public static
focal_class.parameters: (Executor executor)
focal_class.return: boolean
focal_class.signature: boolean isTerminated(Executor executor)
focal_class.class_method_signature: ExecutorUtil.gracefulShutdown(Executor executor, int timeout)
focal_class.full_signature: public static void gracefulShutdown(Executor executor, int timeout)
focal_class.identifier: gracefulShutdown
focal_class.modifiers: public static
focal_class.parameters: (Executor executor, int timeout)
focal_class.return: void
focal_class.signature: void gracefulShutdown(Executor executor, int timeout)
focal_class.class_method_signature: ExecutorUtil.shutdownNow(Executor executor, final int timeout)
focal_class.full_signature: public static void shutdownNow(Executor executor, final int timeout)
focal_class.identifier: shutdownNow
focal_class.modifiers: public static
focal_class.parameters: (Executor executor, final int timeout)
focal_class.return: void
focal_class.signature: void shutdownNow(Executor executor, final int timeout)
focal_class.class_method_signature: ExecutorUtil.newThreadToCloseExecutor(final ExecutorService es)
focal_class.full_signature: private static void newThreadToCloseExecutor(final ExecutorService es)
focal_class.identifier: newThreadToCloseExecutor
focal_class.modifiers: private static
focal_class.parameters: (final ExecutorService es)
focal_class.return: void
focal_class.signature: void newThreadToCloseExecutor(final ExecutorService es)
focal_class.class_method_signature: ExecutorUtil.setThreadName(URL url, String defaultName)
focal_class.full_signature: public static URL setThreadName(URL url, String defaultName)
focal_class.identifier: setThreadName
focal_class.modifiers: public static
focal_class.parameters: (URL url, String defaultName)
focal_class.return: URL
focal_class.signature: URL setThreadName(URL url, String defaultName)
focal_class.class_method_signature: ExecutorUtil.cancelScheduledFuture(ScheduledFuture<?> scheduledFuture)
focal_class.full_signature: public static void cancelScheduledFuture(ScheduledFuture<?> scheduledFuture)
focal_class.identifier: cancelScheduledFuture
focal_class.modifiers: public static
focal_class.parameters: (ScheduledFuture<?> scheduledFuture)
focal_class.return: void
focal_class.signature: void cancelScheduledFuture(ScheduledFuture<?> scheduledFuture)
focal_method.body: public static URL setThreadName(URL url, String defaultName) {
          String name = url.getParameter(THREAD_NAME_KEY, defaultName);
          name = name + "-" + url.getAddress();
          url = url.addParameter(THREAD_NAME_KEY, name);
          return url;
      }
focal_method.class_method_signature: ExecutorUtil.setThreadName(URL url, String defaultName)
focal_method.full_signature: public static URL setThreadName(URL url, String defaultName)
focal_method.identifier: setThreadName
focal_method.invocations: getParameter getAddress addParameter
focal_method.modifiers: public static
focal_method.parameters: (URL url, String defaultName)
focal_method.return: URL
focal_method.signature: URL setThreadName(URL url, String defaultName)