[tomcat] branch 8.5.x updated: Align with master & 9.0.x
This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch 8.5.x in repository https://gitbox.apache.org/repos/asf/tomcat.git The following commit(s) were added to refs/heads/8.5.x by this push: new ec318b5 Align with master & 9.0.x ec318b5 is described below commit ec318b5bbb865296b2c77ac34142d9423be4a03d Author: Mark Thomas AuthorDate: Mon May 4 14:11:40 2020 +0100 Align with master & 9.0.x Review of classes impacted by PR #285 --- .../apache/catalina/core/ApplicationContext.java | 4 +- .../apache/catalina/ha/tcp/ReplicationValve.java | 2 +- .../catalina/session/LocalStrings.properties | 5 + .../catalina/session/PersistentManagerBase.java| 58 - .../valves/rewrite/QuotedStringTokenizer.java | 135 + .../catalina/valves/rewrite/RewriteRule.java | 2 +- .../catalina/valves/rewrite/RewriteValve.java | 2 +- test/org/apache/catalina/valves/Benchmarks.java| 2 +- 8 files changed, 172 insertions(+), 38 deletions(-) diff --git a/java/org/apache/catalina/core/ApplicationContext.java b/java/org/apache/catalina/core/ApplicationContext.java index fab9fac..70c783d 100644 --- a/java/org/apache/catalina/core/ApplicationContext.java +++ b/java/org/apache/catalina/core/ApplicationContext.java @@ -1010,7 +1010,7 @@ public class ApplicationContext implements ServletContext { Connector[] connectors = service.findConnectors(); // Need at least one SSL enabled connector to use the SSL session ID. for (Connector connector : connectors) { -if (Boolean.TRUE.equals(connector.getAttribute("SSLEnabled"))) { +if (Boolean.TRUE.equals(connector.getProperty("SSLEnabled"))) { supportedSessionTrackingModes.add(SessionTrackingMode.SSL); break; } @@ -1278,7 +1278,7 @@ public class ApplicationContext implements ServletContext { Container[] wrappers = context.findChildren(); for (Container wrapper : wrappers) { -result.put(((Wrapper) wrapper).getName(), +result.put(wrapper.getName(), new ApplicationServletRegistration( (Wrapper) wrapper, context)); } diff --git a/java/org/apache/catalina/ha/tcp/ReplicationValve.java b/java/org/apache/catalina/ha/tcp/ReplicationValve.java index 9e91cfb..6eed956 100644 --- a/java/org/apache/catalina/ha/tcp/ReplicationValve.java +++ b/java/org/apache/catalina/ha/tcp/ReplicationValve.java @@ -318,7 +318,7 @@ public class ReplicationValve Context context = request.getContext(); boolean isCrossContext = context != null && context instanceof StandardContext -&& ((StandardContext) context).getCrossContext(); +&& context.getCrossContext(); try { if(isCrossContext) { if(log.isDebugEnabled()) { diff --git a/java/org/apache/catalina/session/LocalStrings.properties b/java/org/apache/catalina/session/LocalStrings.properties index 289b272..62a8b49 100644 --- a/java/org/apache/catalina/session/LocalStrings.properties +++ b/java/org/apache/catalina/session/LocalStrings.properties @@ -44,9 +44,14 @@ managerBase.setContextNotNew=It is illegal to call setContext() to change the Co persistentManager.backupMaxIdle=Backing up session [{0}] to Store, idle for [{1}] seconds persistentManager.deserializeError=Error deserializing Session [{0}] +persistentManager.isLoadedError=Error checking if session [{0}] is loaded in memory persistentManager.loading=Loading [{0}] persisted sessions +persistentManager.removeError=Error removing session [{0}] from the store persistentManager.serializeError=Error serializing Session [{0}]: [{1}] +persistentManager.storeClearError=Error clearning all sessions from the store persistentManager.storeKeysException=Unable to determine the list of session IDs for sessions in the session store, assuming that the store is empty +persistentManager.storeLoadError=Error swapping in sessions from the store +persistentManager.storeLoadKeysError=Error loading sessions keys from the store persistentManager.storeSizeException=Unable to determine the number of sessions in the session store, assuming that the store is empty persistentManager.swapIn=Swapping session [{0}] in from Store persistentManager.swapInException=Exception in the Store during swapIn: [{0}] diff --git a/java/org/apache/catalina/session/PersistentManagerBase.java b/java/org/apache/catalina/session/PersistentManagerBase.java index 2b9b92d..9f52c44 100644 --- a/java/org/apache/catalina/session/PersistentManagerBase.java +++ b/java/org/apache/catalina/session/PersistentManagerBase.java @@ -310,12 +310,13 @@ public abstract class PersistentManagerBase extends ManagerBase * @return {@code true}, if the session id is loaded in memory * otherwise {@code false} is returned
[tomcat] branch 8.5.x updated: Align with master/9.0.x
This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch 8.5.x in repository https://gitbox.apache.org/repos/asf/tomcat.git The following commit(s) were added to refs/heads/8.5.x by this push: new dcc2773 Align with master/9.0.x dcc2773 is described below commit dcc2773b8ab86d6d74eed17b58c018cabded21c6 Author: Mark Thomas AuthorDate: Thu Jan 16 18:21:13 2020 + Align with master/9.0.x Clean-up Remove references to org.apache.juli.JdkLoggerConfig (Tomcat Lite era) --- java/org/apache/juli/AsyncFileHandler.java | 6 +- java/org/apache/juli/FileHandler.java | 9 + java/org/apache/juli/logging/DirectJDKLog.java | 17 + 3 files changed, 11 insertions(+), 21 deletions(-) diff --git a/java/org/apache/juli/AsyncFileHandler.java b/java/org/apache/juli/AsyncFileHandler.java index cfd685d..20a9e16 100644 --- a/java/org/apache/juli/AsyncFileHandler.java +++ b/java/org/apache/juli/AsyncFileHandler.java @@ -147,7 +147,6 @@ public class AsyncFileHandler extends FileHandler { } protected static class LoggerThread extends Thread { -protected final boolean run = true; public LoggerThread() { this.setDaemon(true); this.setName("AsyncFileHandlerWriter-" + System.identityHashCode(this)); @@ -155,7 +154,7 @@ public class AsyncFileHandler extends FileHandler { @Override public void run() { -while (run) { +while (true) { try { LogEntry entry = queue.poll(LOGGER_SLEEP_TIME, TimeUnit.MILLISECONDS); if (entry != null) { @@ -187,8 +186,5 @@ public class AsyncFileHandler extends FileHandler { return true; } } - } - - } diff --git a/java/org/apache/juli/FileHandler.java b/java/org/apache/juli/FileHandler.java index 0d62c92..a437f6a 100644 --- a/java/org/apache/juli/FileHandler.java +++ b/java/org/apache/juli/FileHandler.java @@ -95,14 +95,15 @@ import java.util.regex.Pattern; * */ public class FileHandler extends Handler { + public static final int DEFAULT_MAX_DAYS = -1; private static final ExecutorService DELETE_FILES_SERVICE = Executors.newSingleThreadExecutor(new ThreadFactory() { +private static final String NAME_PREFIX = "FileHandlerLogFilesCleaner-"; private final boolean isSecurityEnabled; private final ThreadGroup group; private final AtomicInteger threadNumber = new AtomicInteger(1); -private final String namePrefix = "FileHandlerLogFilesCleaner-"; { SecurityManager s = System.getSecurityManager(); @@ -135,7 +136,7 @@ public class FileHandler extends Handler { .setContextClassLoader(getClass().getClassLoader()); } Thread t = new Thread(group, r, -namePrefix + threadNumber.getAndIncrement()); +NAME_PREFIX + threadNumber.getAndIncrement()); t.setDaemon(true); return t; } finally { @@ -370,8 +371,7 @@ public class FileHandler extends Handler { private void configure() { Timestamp ts = new Timestamp(System.currentTimeMillis()); -String tsString = ts.toString().substring(0, 19); -date = tsString.substring(0, 10); +date = ts.toString().substring(0, 10); String className = this.getClass().getName(); //allow classes to override @@ -415,6 +415,7 @@ public class FileHandler extends Handler { } catch (NumberFormatException ignore) { //no op } + // Get encoding for the logging file String encoding = getProperty(className + ".encoding", null); if (encoding != null && encoding.length() > 0) { diff --git a/java/org/apache/juli/logging/DirectJDKLog.java b/java/org/apache/juli/logging/DirectJDKLog.java index 2e38563..adf9177 100644 --- a/java/org/apache/juli/logging/DirectJDKLog.java +++ b/java/org/apache/juli/logging/DirectJDKLog.java @@ -14,7 +14,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package org.apache.juli.logging; import java.util.logging.ConsoleHandler; @@ -24,28 +23,22 @@ import java.util.logging.Level; import java.util.logging.Logger; /** - * Hardcoded java.util.logging commons-logging implementation. + * Hard-coded java.util.logging commons-logging implementation. */ class DirectJDKLog implements Log { // no reason to hide this - but good reasons to not hide public final Logger logger; -/** Alternate config reader and console format - */ +// Alternate config reader and console format private static final String