@Test
  public void newThreadPoolWithSynchronousFeed_5() {
    int corePoolSize = 10;
    int maximumPoolSize = 20;
    long keepAliveTime = 5000;
    TimeUnit unit = SECONDS;
    String threadName = "thread";

    ExecutorService executorService = CoreLoggingExecutors.newThreadPoolWithSynchronousFeed(
        corePoolSize, maximumPoolSize, keepAliveTime, unit, threadName);

    assertThat(executorService).isInstanceOf(ThreadPoolExecutor.class);

    ThreadPoolExecutor executor = (ThreadPoolExecutor) executorService;

    assertThat(executor.getCorePoolSize()).isEqualTo(corePoolSize);
    assertThat(executor.getKeepAliveTime(unit)).isEqualTo(keepAliveTime);
    assertThat(executor.getMaximumPoolSize()).isEqualTo(maximumPoolSize);
    assertThat(executor.getQueue()).isInstanceOf(SynchronousQueue.class);
    assertThat(executor.getRejectedExecutionHandler())
        .isInstanceOf(ThreadPoolExecutor.AbortPolicy.class);
    assertThat(executor.getThreadFactory()).isInstanceOf(LoggingThreadFactory.class);

    ThreadFactory threadFactory = executor.getThreadFactory();
    Thread thread = threadFactory.newThread(runnable);

    assertThat(thread).isInstanceOf(LoggingThread.class);
    assertThat(thread.getName()).contains(threadName);
  }
Used for P2P Reader Threads in ConnectionTable
geode-core/src/test/java/org/apache/geode/internal/logging/CoreLoggingExecutorsTest.java