From 75e6aaf8857d4537c949313445957ee63703b089 Mon Sep 17 00:00:00 2001 From: Joakim Erdfelt Date: Fri, 16 Oct 2020 11:44:48 -0500 Subject: [PATCH] Issue #5451 - Allowing inversion of ${jetty.base}/work/ persistence Signed-off-by: Joakim Erdfelt --- .../main/java/org/eclipse/jetty/server/Server.java | 11 +++++++++++ .../org/eclipse/jetty/webapp/WebInfConfiguration.java | 5 ++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/jetty-server/src/main/java/org/eclipse/jetty/server/Server.java b/jetty-server/src/main/java/org/eclipse/jetty/server/Server.java index 55eb8a9b9cbf..1cfa49967dd5 100644 --- a/jetty-server/src/main/java/org/eclipse/jetty/server/Server.java +++ b/jetty-server/src/main/java/org/eclipse/jetty/server/Server.java @@ -81,6 +81,7 @@ public class Server extends HandlerWrapper implements Attributes private final List _connectors = new CopyOnWriteArrayList<>(); private SessionIdManager _sessionIdManager; private String _tmpDirPosixPerms = "rwx------"; + private boolean _workDirPersistent = true; private boolean _stopAtShutdown; private boolean _dumpAfterStart = false; private boolean _dumpBeforeStop = false; @@ -216,6 +217,11 @@ public String getTempDirectoryPosixPermissions() return _tmpDirPosixPerms; } + public boolean isWorkDirectoryPersistent() + { + return _workDirPersistent; + } + /** * @return Returns the connectors. */ @@ -600,6 +606,11 @@ public void setTempDirectoryPosixPermissions(String perms) _tmpDirPosixPerms = perms; } + public void setWorkDirectoryPersistent(boolean flag) + { + _workDirPersistent = flag; + } + /* * @see org.eclipse.util.AttributesMap#clearAttributes() */ diff --git a/jetty-webapp/src/main/java/org/eclipse/jetty/webapp/WebInfConfiguration.java b/jetty-webapp/src/main/java/org/eclipse/jetty/webapp/WebInfConfiguration.java index d81885c220e1..b49202393b87 100644 --- a/jetty-webapp/src/main/java/org/eclipse/jetty/webapp/WebInfConfiguration.java +++ b/jetty-webapp/src/main/java/org/eclipse/jetty/webapp/WebInfConfiguration.java @@ -460,7 +460,10 @@ public void resolveTempDirectory(WebAppContext context) File work = new File(jettyBase, "work"); if (work.exists() && work.isDirectory() && work.canWrite()) { - context.setPersistTempDirectory(true); + if (context.getServer().isWorkDirectoryPersistent()) + { + context.setPersistTempDirectory(true); + } makeTempDirectory(work, context); return; }