【问题标题】:How to start all applications deployed in tomcat Concurrently如何同时启动所有部署在tomcat中的应用
【发布时间】:2017-09-14 03:10:33
【问题描述】:

tomcat 中是否有任何配置,我可以在其中提到在 tomcat 重新启动时同时启动所有应用程序。这是为了避免在 tomcat 重启期间出现延迟。

【问题讨论】:

    标签: java apache tomcat tomcat7 war


    【解决方案1】:

    您能做的最好的事情是为server.xml 中的<Host .../> 元素配置一个适当大的startStopThreads 设置,这样每个Context 都在一个并行线程中开始。

    这将取决于您系统上的内核数量与网络应用程序的数量以及每个网络应用程序的相对启动时间相比有多成功。

    startStopThreads 的完整详细信息可在Tomcat Documentation 中找到。

    【讨论】:

    • 有什么理由避免使用它吗?同时加载两个或多个应用程序可能导致的任何错误?
    • 没有理由避免这种情况。不能触发任何 Tomcat 错误。如果应用对启动顺序做出假设(它们不应该),您可能会看到应用错误
    • 似乎有效。我在主机之间分配了总 CPU(即,由于 4 个 CPU 为每个主机分配 2 个线程以获得更好的结果)。通过这种方式,我获得了大约 30% 的提升。
    【解决方案2】:

    它们都自动启动,我不确定您还需要什么。

    AFAIK 它们是按顺序启动的,一个接一个 - 可能这就是您的目标。我不知道多线程并发启动,但即使是这种情况,它们都有单独的启动时间,所​​以你可能缩短时间,但仍然有同样的问题。

    您可以通过仅在完全启动时(例如通过正确的负载平衡器配置)将您的 tomcat 提供给外部世界来解决任何问题。如果您的应用程序初始化时间过长,您可能也想解决这个问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-10
      • 2023-03-27
      • 2019-03-03
      • 2015-12-04
      • 2016-04-30
      • 1970-01-01
      • 2021-01-24
      相关资源
      最近更新 更多