最大 JVM メモリを 800MB に設定して、組み込みの jetty を Java アプリケーション サーバーとして使用しています。Web アーカイブを展開および展開解除する方法を作成しました。基本的な Hello World アプリケーションで war を展開するたびに、組み込みアプリケーション サーバーは約 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;
}