动态加载的JAR /等。在同一个JVM容器中

时间:2012-05-02 01:10:39

标签: java tomcat jvm

我有一个奇怪的问题,我可能没有说错,但想法是: 我在Tomcat容器中部署了WAR,它集成了很少的第三方系统。

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

这样做的最佳方式是什么?

1 个答案:

答案 0 :(得分:0)

您无法在不重新加载的情况下即时安全地添加/更新JAR。有一些非常具体的情况,你可能会在添加一个新的JAR时侥幸成功,但它却很受欢迎。

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