您当前的位置: 首页 >  spring

qq_34412985

暂无认证

  • 0浏览

    0关注

    1061博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

修改Spring自定义异步线程池的错误

qq_34412985 发布时间:2020-07-28 19:56:36 ,浏览量:0

@EnableAsync @Configuration public class AsyncTaskExecutePoolConfig implements AsyncConfigurer {

public static final int CORE_POOL_SIZE = 20; private static final int MAX_POOL_SIZE = 50; private static final int QUEUE_CAPACITY = 100; private static final int KEEP_ALIVE_SECONDS = 30;

@Override @Bean(name = "asyncExecutor") public Executor getAsyncExecutor() {     ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();     //核心线程池大小     executor.setCorePoolSize(CORE_POOL_SIZE);     //最大线程数     executor.setMaxPoolSize(MAX_POOL_SIZE);     //队列容量     executor.setQueueCapacity(QUEUE_CAPACITY);     //活跃时间     executor.setKeepAliveSeconds(KEEP_ALIVE_SECONDS);     //设置线程池关闭的时候等待所有任务都完成再继续销毁其他的Bean     executor.setWaitForTasksToCompleteOnShutdown(true);     //线程名字前缀     executor.setThreadNamePrefix("workflow-async-");     // setRejectedExecutionHandler:当pool已经达到max size的时候,如何处理新任务     // CallerRunsPolicy:不在新线程中执行任务,而是由调用者所在的线程来执行     executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());     executor.initialize();     return executor; }

2020/7/6下午更新maven包后项目启动报以下错误: Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [java.util.concurrent.Executor]: Illegal arguments to factory method ‘getAsyncExecutor’; args: ; nested exception is java.lang.IllegalArgumentException: object is not an instance of declaring class

解决:将implements AsyncConfigurer删除后ok

关注
打赏
1653291990
查看更多评论
立即登录/注册

微信扫码登录

0.0409s