我使用嵌入式码头作为Java应用程序服务器,以最大的JVM内存设置为800MB。 我创建了一个方法来部署和取消部署Web档案。每次我用基本的Hello World应用程序部署一场战争时,嵌入式应用程序服务器使用大约200MB的附加内存,这会在添加第4个Web应用程序后导致内存不足。这是嵌入式Jetty作为应用程序服务器使用时的预期行为吗?记忆勾勒出当使用嵌入式的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;
}
认为,这不应该是码头这样做,也有码头的叠加机制,以减少同一场战争的多个实例的内存使用情况,如果这是你的投篮命中:http://webtide.intalio.com/2011/05/jetty-overlayed-webapp-deployer/ – 2012-08-08 13:08:56