【问题标题】:Dynamic loaded JARs/etc. in same JVM container动态加载的 JAR/等。在同一个 JVM 容器中
【发布时间】:2012-05-02 01:10:38
【问题描述】:

我有一个有点奇怪的问题,我可能措辞不正确,但想法是: 我在 Tomcat 容器中部署了 WAR,它与少数第三方系统集成。

我希望每个第三方系统的实现都部署在同一个 Tomcat(JVM 容器)中。可能是一个 JAR。 我希望 WAR 真正有效地使用这个 JAR(速度、负载、内存使用等) 添加新 JAR 时我不想重新启动 Tomcat。

最好的方法是什么?

【问题讨论】:

    标签: java tomcat jvm


    【解决方案1】:

    如果不重新加载,您将无法安全地动态添加/更新 JAR。在某些非常特殊的情况下,您可能会通过添加新 JAR 而侥幸成功,但这种情况很容易发生。

    您能做到的最好的方法是将 JAR 添加到 WEB-INF/lib 并重新加载 Web 应用程序(而不是重新启动 Tomcat)。最终用户可能会在 Web 应用程序重新启动时看到请求处理暂停,但您不应该看到任何丢弃的请求。请注意,这仅适用于更新使用 Web 应用程序部署的类和 JAR。如果您更改 WEB-INF/web.xml 或 META-INF/context.xml,应用程序仍会重新加载,但可能会丢失请求。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-10
      • 1970-01-01
      相关资源
      最近更新 更多