【问题标题】:Getting Task Rejection Error in Threadpool在线程池中获取任务拒绝错误
【发布时间】:2018-12-20 06:43:31
【问题描述】:

我不断收到任务拒绝错误,即使它成功完成了任务。

2018-03-27 05:57:37,518 454935266 [task-scheduler-5] 错误 osihandler.LoggingHandler - org.springframework.core.task.TaskRejectedException:执行程序 [java.util.concurrent.ThreadPoolExecutor@75a34d52[正在运行, pool size = 1, active threads = 0, queued tasks = 1000, completed tasks = 490575051]] 不接受任务:org.springframework.integration.util.ErrorHandlingTaskExecutor$1@55cd80f5

这项工作只是在目录中寻找新条目,一旦它得到它就会处理它。 另外我不知道为什么将排队任务显示为 1000,因为没有生成那么多文件。

【问题讨论】:

  • 您的 Spring 应用程序中是否还有其他代码正在使用 @Async 注释运行?提示是:您可能会为整个应用程序使用相同的小线程池,而不仅仅是这个“目录”的东西。

标签: java spring spring-boot


【解决方案1】:

增加你的queueCapacity,例如:

ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
executor.setCorePoolSize(4);
executor.setMaxPoolSize(6);
executor.setQueueCapacity(5000); // <-- setting the queueCapacity

【讨论】:

  • 能否请您提供一些信息,您在代码中所做的更改以及您如何解决问题?
猜你喜欢
  • 2017-08-08
  • 1970-01-01
  • 2014-12-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-27
  • 2013-11-14
  • 2010-12-18
相关资源
最近更新 更多