【问题标题】:Spring - Ensure Thread PoolingSpring - 确保线程池
【发布时间】:2017-03-02 10:20:07
【问题描述】:

问题是如何确保我们可以控制 Spring 应用程序对任何给定系统的并发调用数?

Secondary如何提供这样的功能?

Spring 是否已经有了这样的机制?

我对 FixedThreadPool 有基本的了解,但不知道如何实现。

“调用”作为对外部系统和子系统的 Web 服务调用。 “并发调用” - 同时运行 - 我不知道该描述是否有帮助。

基于 Java/Spring 的企业应用程序 - 我是项目新手,所以我还缺乏大量信息。

到目前为止,我注意到它在 4.x 版本中使用了 spring 上下文、web、webmvc、核心、方面、aop、bean、orm、jdbc、上下文支持,

【问题讨论】:

  • 你可能需要检查这个 (stackoverflow.com/questions/852743/…)
  • 什么样的Spring应用程序?应用程序使用的哪些 Spring API 被您称为 Spring 应用程序?另外,并发调用是什么意思?这些是什么类型的调用,Web 服务调用,函数调用?据我了解,使用线程池与调用次数无关,因为我可以从线程内启动线程。使用线程池的 API 应注意其生成的调用次数,但首先需要澄清 调用
  • @Sabir Khan,您的评论帮助我更新了答案
  • (Web/企业)服务器呢?
  • @SundararajGovindasamy - apache-tomee-1.7.2

标签: java spring multithreading pooling


【解决方案1】:

如果您使用 tomcat,则在 server.xml 文件中指定 ma​​xThreads,它指定可以处理的最大并发请求数。参考文档here

<Connector port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
               enableLookups="false" redirectPort="4443" acceptCount="100"
               debug="0" connectionTimeout="60000" 
               disableUploadTimeout="true" />

如果您使用的是嵌入式 tomcat (ie.Spring Boot),您可以设置最大线程数如下。

server.tomcat.max-threads = 300

【讨论】:

    猜你喜欢
    • 2011-11-03
    • 2021-11-24
    • 2018-05-22
    • 2018-08-13
    • 2017-07-22
    • 2012-06-16
    • 2018-06-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多