public static void shutdownThreadPool(ExecutorService executor) {
        shutdownThreadPool(executor, null);
    }
@Test
    void testShutdownThreadPoolWithOtherException() throws InterruptedException {
        ExecutorService executor = mock(ExecutorService.class);
        Logger logger = mock(Logger.class);
        Throwable cause = new RuntimeException();
        when(executor.awaitTermination(100, TimeUnit.MILLISECONDS)).thenThrow(cause);
        ThreadUtils.shutdownThreadPool(executor, logger);
        verify(executor).shutdownNow();
        verify(logger, times(3)).error("ThreadPoolManager shutdown executor has error : ", cause);
    }