当前位置: 首页 > 知识库问答 >
问题:

在线程池中获取任务拒绝错误

尤茂材
2023-03-14

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

2018-03-27 05:57:37518 454935266[task-scheduler-5]错误o.s.i.handler。LoggingHandler-org。springframework。果心任务TaskRejectedException:Executor[java.util.concurrent。ThreadPoolExecutor@75a34d52[Running,pool size=1,active threads=0,queued tasks=1000,completed tasks=490575051]]未接受task:org。springframework。整合。util。ErrorHandlingTaskExecutor$1@55cd80f5

这个作业只要在一个目录中寻找新条目,一旦得到它就会处理它。我也不知道为什么它会把排队的任务显示为1000个,因为有那么多文件没有生成。

共有1个答案

谷梁镜
2023-03-14

增加您的queue容量,例如:

ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
executor.setCorePoolSize(4);
executor.setMaxPoolSize(6);
executor.setQueueCapacity(5000); // <-- setting the queueCapacity
 类似资料:
  • 应用程序已配置Zuul和Eureka将请求路由到后端服务,在我们进行负载测试之前,一切正常。 我开始在负载测试环境中执行10个并发请求,在zuul gateway中出现转发错误,原因是线程池无法为未来的任务分配线程,并拒绝任务,错误如下。 我的奇迹;在上面的原因中,我看到池大小只有10个,而10个线程是buzy,很实用,因为我连续触发了10个请求。 但是我的corepoolsize应该比我在这里遇

  • 在我的项目中,我正在构建一个Java的执行框架,它接收来自客户端的工作请求。工作(大小不同)被分解为一组任务,然后排队等待处理。有单独的队列来处理每种类型的任务,每个队列都与一个ThreadPool相关联。ThreadPools的配置方式使引擎的整体性能达到最佳。 这种设计有助于我们有效地平衡请求的负载,大型请求不会占用系统资源。然而,当一些队列为空并且它们各自的线程池闲置时,该解决方案有时会变得

  • 问题内容: 我有一个固定的线程池,我可以将任务提交给该线程池(限制为 5个 线程)。如何找出这 5个 线程中的哪一个执行我的任务(例如“第3 个 线程中的第3 个 线程正在执行此任务”)? 问题答案: 使用:

  • 我有一些线程的问题。 我的剧本 1-从文本文件将1000多万行加载到数组中 2-创建5个固定线程的执行池 3-然后它正在迭代该列表并将一些线程添加到队列中 现在活动线程永远不会绕过5个固定线程,这很好,但我发现我的处理器进入100%负载,我已经调试了一点,我看到正在调用构造函数,女巫意味着无论我声明5个固定线程,仍将尝试创建10万个对象。 主要问题是:我如何防止这种情况?我只是想让线程在没有空间的

  • 问题内容: 我有一个HTTP API,无论成功还是失败,它都会返回JSON数据。 失败示例如下所示: 我想要在JavaScript代码中实现的是这样的: 问题答案: fulfilled return Promise.reject(resp.json()); 好吧,诺言 将 得到兑现,只是不等待它,而是立即 兑现诺言 。 我假设您宁愿执行以下操作: (或明确写出)