public static ThreadPoolExecutor buildPool() {
        ThreadPoolInitParam initParam = initParam();
        return buildPool(initParam);
    }
@Test
    public void testBuildPool() {
        ThreadPoolExecutor executor = AbstractBuildThreadPoolTemplate.buildPool(initParam);
        AtomicInteger count = new AtomicInteger(0);
        executor.submit(() -> {
            ThreadUtil.sleep(100L);
            return count.incrementAndGet();
        });
        executor.submit(() -> {
            ThreadUtil.sleep(100L);
            count.incrementAndGet();
        });

        // waiting for shutdown
        executor.shutdown();
        while (!executor.isTerminated()) {
        }
        Assert.assertEquals(2, count.get());

    }