class AbstractWebServerDtpAdapter<A extends Executor> extends AbstractDtpAdapter
        implements ApplicationListener<ApplicationEvent> {

    @Override
    public void onApplicationEvent(ApplicationEvent event) {<FILL_FUNCTION_BODY>}

    @Override
    protected void initialize() {
        super.initialize();
        if (executors.get(getTpName()) == null) {
            ApplicationContext applicationContext = ApplicationContextHolder.getInstance();
            WebServer webServer = ((WebServerApplicationContext) applicationContext).getWebServer();
            doEnhance(webServer);
            log.info("DynamicTp adapter, web server {} executor init end, executor: {}",
                    getTpName(), ExecutorConverter.toMainFields(executors.get(getTpName())));
        }
    }

    protected String getTpName() {
        return getTpPrefix();
    }

    /**
     * Do enhance.
     *
     * @param webServer webServer
     */
    protected abstract void doEnhance(WebServer webServer);
}

        if (event instanceof WebServerInitializedEvent) {
            try {
                DtpProperties dtpProperties = ApplicationContextHolder.getBean(DtpProperties.class);
                initialize();
                afterInitialize();
                refresh(dtpProperties);
            } catch (Exception e) {
                log.error("Init web server thread pool failed.", e);
            }
        }
    
<methods>public non-sealed void <init>() ,public Map<java.lang.String,org.dromara.dynamictp.core.support.ExecutorWrapper> getExecutorWrappers() ,public List<org.dromara.dynamictp.common.entity.ThreadPoolStats> getMultiPoolStats() ,public void refresh(List<org.dromara.dynamictp.common.entity.TpExecutorProps>, List<org.dromara.dynamictp.common.entity.NotifyPlatform>) ,public void refresh(org.dromara.dynamictp.core.support.ExecutorWrapper, List<org.dromara.dynamictp.common.entity.NotifyPlatform>, org.dromara.dynamictp.common.entity.TpExecutorProps) <variables>private static final Equator EQUATOR,protected final Map<java.lang.String,org.dromara.dynamictp.core.support.ExecutorWrapper> executors