## Describe the feature

https://github.com/apache/dubbo/blob/daa4d8eb2e5290f1100d32ed0b93896e10fe7ca7/dubbo-common/src/main/java/org/apache/dubbo/common/threadpool/support/AbortPolicyWithReport.java#L90

current threadpool  abort policy will  dump stack  when threadpool is exhausted. this will casue a STW, in some suitation, it will cost 10s+.  app will hang 10s+, need make it configurable


public void dispatchThreadPoolExhaustedEvent(String msg) {
        listeners.forEach(listener -> listener.onEvent(new ThreadPoolExhaustedEvent(msg)));
    }
    private void dumpJStack() {
        long now = System.currentTimeMillis();
        
        if (now - lastPrintTime < TEN_MINUTES_MILLS) {
            return;
        }
        if (!guard.tryAcquire()) {
            return;
        }
        ExecutorService pool = Executors.newSingleThreadExecutor();
        pool.execute(() -> {
            String dumpPath = getDumpPath();
            SimpleDateFormat sdf;
            String os = System.getProperty(OS_NAME_KEY).toLowerCase();
            
            if (os.contains(OS_WIN_PREFIX)) {
                sdf = new SimpleDateFormat(WIN_DATETIME_FORMAT);
            } else {
                sdf = new SimpleDateFormat(DEFAULT_DATETIME_FORMAT);
            }
            String dateStr = sdf.format(new Date());
            
            try (FileOutputStream jStackStream = new FileOutputStream(
                new File(dumpPath, "Dubbo_JStack.log" + "." + dateStr))) {
                jstack(jStackStream);
            } catch (Exception t) {
                logger.error(COMMON_UNEXPECTED_CREATE_DUMP, "", "", "dump jStack error", t);