1

我正在使用 Jetty 8 来运行一些 servlet。我有两个(或更多)应用程序共享源代码,我想在同一个端口(即 8080)上运行它们。我已将两个不同的 WAR 文件放入 Jetty 中,one.war并且two.war,以便我访问它们,例如,

  • http://localhost:8080/one
  • http://localhost:8080/two

两个 WARS 都包含一个相同的公共 JAR 文件(common utils)。每个 WAR 应用程序是否都有自己的 JVM?真的,我只是想确保公共 JAR 类是完全独立的,因为有些类是静态的,我需要两个应用程序显然不能共享对同一个静态类的访问。

这似乎很明显,我似乎证实了这种情况是,公共类是为每个 WAR 单独加载的,具有一个简单的测试场景(两个相同的 WAR 托管在同一个 Jetty 实例中,但路径不同......见上文) . 但我缺乏书面文件或确认是这种情况。

4

1 回答 1

3

Each WAR file will have its own class loader see http://docs.codehaus.org/display/JETTY/Classloading. So you can safely use static classes.

于 2013-04-10T20:10:58.830 回答