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

如何同时限制所有并发方法的线程数

艾泽语
2023-03-14

我正在做一个遗留项目,它使用了Java 8、Spring、HikariCP和MySQL。微服务的方法由Kafka主题触发,并开始报告操作。几乎所有的触发方法都有这样的用法,其中一些在它们的块中有相同的用法。

new ForkJoinPool().submit(() -> { users.parallelStream().forEach(user ->

原因:java.sql.SQLTransientConnection异常:HikariPool-2 - 连接不可用,请求在 30000 毫秒后超时。

当我检查数据库并看到 max_connections = 600 的变量时,但这还不够。

我想为应用程序级别的线程数设置一个限制。我尝试设置这些参数,但线程大小不减少。

SPRING_TASK_EXECUTION_POOL_QUEUE-CAPACITY , SPRING_TASK_EXECUTION_POOL_MAX-SIZE, -Djava.util.concurrent.ForkJoinPool.common.parallelism

有物业解决这个问题吗

共有1个答案

柯昱
2023-03-14

我已经将所有< code>new ForkJoinPool()更改为ForkJoinPool . common pool(),并在修复我的问题后使用此参数控制线程创建< code >-DJ ava . util . concurrent . ForkJoinPool . common . parallelism 。

 类似资料:
  • 我在理解诸如/和/ 我试图创建九个,并让它们同时运行,以找出哪个是最有效的。 因此,当主函数启动时,我会锁定互斥锁,以确保线程不会启动,然后再告诉它们使用pthread_lock( 然后,我使用各种调度策略创建所有九个线程。完成后,我尝试使用pthread\u mutex\u unlock告诉所有线程同时启动( 但当我运行这个时,它永远不会解锁线程。主功能的“运行…”print语句将关闭,但线程从

  • 如何编写限制Qpromise并发的方法? 例如,我有一个方法。 我希望一次生成不超过5个进程,但对调用代码是透明的。 我需要实现的是一个带有签名的函数 我可以这样称呼他 我已经开始编写我的版本,但我想知道是否有人有一个简洁的实现,我可以对照它进行检查。

  • 我们的团队正在开始学习fp-ts,我们从一些基本的异步示例开始(大部分是从这里拉出来的)。按顺序运行一组任务很棒,看起来像问题是,在fp-ts中执行并行任务时限制并发的惯用方法是什么?例如,Promise.map(在蓝鸟中)允许您设置像这样的并发限制。 一种解决方案可能是将数组拆分为块,然后使用序列和平面图迭代这些块。然而,这意味着每个区块中的每个任务都必须完成,然后才能进入下一个区块-一个长时间

  • 本文向大家介绍Apache限制IP并发数和流量控制的方法,包括了Apache限制IP并发数和流量控制的方法的使用技巧和注意事项,需要的朋友参考一下 本文章来给各位同学总结一下APACHE中限制IP连接数与IP并发数和流量控制实现方法,如果只限制连接数据我们可以直接使用limit,如果要限制其它的需要使用其它第三方模块了 使用mod_limitipconn模块限制IP并发连接数 安装: 编辑http

  • 问题内容: 如何编写限制Q许诺并发的方法? 例如,我有一个方法。它返回一个Q承诺。 我希望一次生成的进程不超过5个,但是对于调用代码是透明的。 我需要实现的是带有签名的功能 我可以这样称呼 我已经开始处理我的版本,但是我想知道是否有人可以检查一个简洁的实现。 问题答案: 我有一个库可以为您做到这一点https://github.com/ForbesLindesay/throat 您可以通过brow

  • 我需要限制使用weblogic登录我的web应用的用户数量。 找到的解决方案是oracle documents“weblogic.http.session.maxConcurrentRequest属性限制会话的并发请求数。如果给定会话的并发请求数超过指定值,servlet容器将开始拒绝请求。默认情况下,此属性设置为-1,这表示servlet容器不施加任何限制。” 但不知道在哪里或如何设置这些设置。