我使用嵌入式码头作为 Java 应用程序服务器,最大 JVM 内存设置为 800MB。我创建了一种部署和取消部署 Web 档案的方法。每次我使用基本的 hello world 应用程序部署战争时,嵌入式应用程序服务器都会使用大约 200MB 的额外内存,这会在我添加第 4 个 Web 应用程序后导致内存不足。这是嵌入式 Jetty 用作应用程序服务器时的预期行为吗?
@ManagedOperation
public boolean deployWebApp(String context, String pathToWar){
boolean success = false;
WebAppContext webctx = null;
try{
webctx = addWebApp(context, pathToWar);
webctx.getTempDirectory();
webctx.start();
success = webctx.isRunning();
} catch (Exception e) {
e.printStackTrace();
logger.log(Level.SEVERE, "Failed to startup webapp with webappcontext: ", webapps.get(context).getContextPath());
}
return success;
}