码头如何确定是否在开始时扩大战争

时间:2013-10-28 08:03:08

标签: java webserver jetty

我正在将Jetty服务器用于我的Web应用程序。 jetty总是在服务器启动时扩展war文件吗? 如果不是我怎么能这样做? 让我们说在第一次启动/部署之后,现在如果我将war文件替换为旧的war文件,则jetty不会扩展旧的war文件。

1 个答案:

答案 0 :(得分:2)

默认情况下,Jetty总是扩展WAR文件。

您可以使用advanced configuration descriptor file中的extractWAR将其配置为不展开。

但是,我认为你实际上在询问的是,web app / servlet spec temp目录逻辑是如何工作的?

Jetty使用的tempDirectory由许多因素决定,主要由servlet规范决定。 See prior answer about the topic of tempDirectory configuration for details

如果未指定/取消配置临时目录,则使用following rough syntax创建新的临时目录。

File tempDir = new File(System.getProperty("java.io.tmpdir") +
   File.separator + "jetty-" + host + "-" + port + "-" + 
   resourceBase + "-_" + context + "-" + virtualhost + "-" + randomdigits +
   ".dir");

使用的临时目录是持久的,这意味着在服务器关闭时不会删除它。 temp目录用于在确定WAR文件(或上下文可部署的XML)比持久临时目录中的内容更新时将WAR解压缩。

从Jetty 9.1开始,现在有WebAppContext.setPersistTempDirectory(boolean)可用于关闭临时目录持久性。