package com.yeguang.common.thread; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.noear.solon.annotation.Bean; import org.noear.solon.annotation.Configuration; import org.noear.solon.annotation.Inject; import java.util.concurrent.ThreadPoolExecutor; @Slf4j @Configuration @RequiredArgsConstructor public class ThreadExecutorConfig { private final ThreadPoolConfig threadPoolConfig; // @Primary @Bean(name = "customThreadPool") public ThreadPoolExecutor getCustomExecutor(@Inject("${thread.enabled}") boolean enabled) { if (enabled) { return generateExecutor(threadPoolConfig); } return null; } private ThreadPoolExecutor generateExecutor(ThreadPoolConfig threadPoolConfig) { return new MonitorThreadPoolExecutor(threadPoolConfig); } }