This is an automated email from the ASF dual-hosted git repository.
michaelo pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tomcat.git
The following commit(s) were added to refs/heads/main by this push:
new fab59e5 Add Javadoc comment about nesting of server-wide listeners
fab59e5 is described below
commit fab59e5e07082b067060f16921c028f3d1991ae4
Author: Michael Osipov <[email protected]>
AuthorDate: Mon Nov 1 09:18:47 2021 +0100
Add Javadoc comment about nesting of server-wide listeners
---
java/org/apache/catalina/core/AprLifecycleListener.java | 3 +++
.../org/apache/catalina/core/JreMemoryLeakPreventionListener.java | 3 +++
.../apache/catalina/core/ThreadLocalLeakPreventionListener.java | 8 ++------
.../apache/catalina/mbeans/GlobalResourcesLifecycleListener.java | 3 +++
java/org/apache/catalina/security/SecurityListener.java | 4 ++++
java/org/apache/catalina/startup/VersionLoggerListener.java | 4 ++++
webapps/docs/changelog.xml | 4 ++++
7 files changed, 23 insertions(+), 6 deletions(-)
diff --git a/java/org/apache/catalina/core/AprLifecycleListener.java
b/java/org/apache/catalina/core/AprLifecycleListener.java
index 9ff9496..d92ac14 100644
--- a/java/org/apache/catalina/core/AprLifecycleListener.java
+++ b/java/org/apache/catalina/core/AprLifecycleListener.java
@@ -25,6 +25,7 @@ import java.util.List;
import org.apache.catalina.Lifecycle;
import org.apache.catalina.LifecycleEvent;
import org.apache.catalina.LifecycleListener;
+import org.apache.catalina.Server;
import org.apache.juli.logging.Log;
import org.apache.juli.logging.LogFactory;
import org.apache.tomcat.jni.Library;
@@ -38,6 +39,8 @@ import org.apache.tomcat.util.res.StringManager;
/**
* Implementation of <code>LifecycleListener</code> that will init and
* and destroy APR.
+ * <p>
+ * This listener must only be nested within {@link Server} elements.
*
* @since 4.1
*/
diff --git a/java/org/apache/catalina/core/JreMemoryLeakPreventionListener.java
b/java/org/apache/catalina/core/JreMemoryLeakPreventionListener.java
index dce3cfe..47c5624 100644
--- a/java/org/apache/catalina/core/JreMemoryLeakPreventionListener.java
+++ b/java/org/apache/catalina/core/JreMemoryLeakPreventionListener.java
@@ -25,6 +25,7 @@ import javax.imageio.ImageIO;
import org.apache.catalina.Lifecycle;
import org.apache.catalina.LifecycleEvent;
import org.apache.catalina.LifecycleListener;
+import org.apache.catalina.Server;
import org.apache.juli.logging.Log;
import org.apache.juli.logging.LogFactory;
import org.apache.tomcat.util.res.StringManager;
@@ -42,6 +43,8 @@ import org.apache.tomcat.util.res.StringManager;
* Locked files usually occur when a resource inside a JAR is accessed without
* first disabling Jar URL connection caching. The workaround is to disable
this
* caching by default.
+ * <p>
+ * This listener must only be nested within {@link Server} elements.
*/
public class JreMemoryLeakPreventionListener implements LifecycleListener {
diff --git
a/java/org/apache/catalina/core/ThreadLocalLeakPreventionListener.java
b/java/org/apache/catalina/core/ThreadLocalLeakPreventionListener.java
index f13b19a..9000576 100644
--- a/java/org/apache/catalina/core/ThreadLocalLeakPreventionListener.java
+++ b/java/org/apache/catalina/core/ThreadLocalLeakPreventionListener.java
@@ -34,19 +34,15 @@ import org.apache.tomcat.util.res.StringManager;
import org.apache.tomcat.util.threads.ThreadPoolExecutor;
/**
- * <p>
* A {@link LifecycleListener} that triggers the renewal of threads in Executor
* pools when a {@link Context} is being stopped to avoid thread-local related
* memory leaks.
- * </p>
* <p>
* Note : active threads will be renewed one by one when they come back to the
* pool after executing their task, see
* {@link org.apache.tomcat.util.threads.ThreadPoolExecutor}.afterExecute().
- * </p>
- *
- * This listener must be declared in server.xml to be active.
- *
+ * <p>
+ * This listener must only be nested within {@link Server} elements.
*/
public class ThreadLocalLeakPreventionListener extends FrameworkListener {
diff --git
a/java/org/apache/catalina/mbeans/GlobalResourcesLifecycleListener.java
b/java/org/apache/catalina/mbeans/GlobalResourcesLifecycleListener.java
index bca1ed7..d6d7506 100644
--- a/java/org/apache/catalina/mbeans/GlobalResourcesLifecycleListener.java
+++ b/java/org/apache/catalina/mbeans/GlobalResourcesLifecycleListener.java
@@ -31,6 +31,7 @@ import org.apache.catalina.Lifecycle;
import org.apache.catalina.LifecycleEvent;
import org.apache.catalina.LifecycleListener;
import org.apache.catalina.Role;
+import org.apache.catalina.Server;
import org.apache.catalina.User;
import org.apache.catalina.UserDatabase;
import org.apache.juli.logging.Log;
@@ -42,6 +43,8 @@ import org.apache.tomcat.util.res.StringManager;
* Implementation of <code>LifecycleListener</code> that instantiates the
* set of MBeans associated with global JNDI resources that are subject to
* management.
+ * <p>
+ * This listener must only be nested within {@link Server} elements.
*
* @author Craig R. McClanahan
* @since 4.1
diff --git a/java/org/apache/catalina/security/SecurityListener.java
b/java/org/apache/catalina/security/SecurityListener.java
index 782753f..cee5ae0 100644
--- a/java/org/apache/catalina/security/SecurityListener.java
+++ b/java/org/apache/catalina/security/SecurityListener.java
@@ -23,11 +23,15 @@ import java.util.Set;
import org.apache.catalina.Lifecycle;
import org.apache.catalina.LifecycleEvent;
import org.apache.catalina.LifecycleListener;
+import org.apache.catalina.Server;
import org.apache.juli.logging.Log;
import org.apache.juli.logging.LogFactory;
import org.apache.tomcat.util.buf.StringUtils;
import org.apache.tomcat.util.res.StringManager;
+/**
+ * This listener must only be nested within {@link Server} elements.
+ */
public class SecurityListener implements LifecycleListener {
private static final Log log = LogFactory.getLog(SecurityListener.class);
diff --git a/java/org/apache/catalina/startup/VersionLoggerListener.java
b/java/org/apache/catalina/startup/VersionLoggerListener.java
index a4f944b..6ca2ea8 100644
--- a/java/org/apache/catalina/startup/VersionLoggerListener.java
+++ b/java/org/apache/catalina/startup/VersionLoggerListener.java
@@ -25,6 +25,7 @@ import java.util.TreeMap;
import org.apache.catalina.Lifecycle;
import org.apache.catalina.LifecycleEvent;
import org.apache.catalina.LifecycleListener;
+import org.apache.catalina.Server;
import org.apache.catalina.util.ServerInfo;
import org.apache.juli.logging.Log;
import org.apache.juli.logging.LogFactory;
@@ -32,6 +33,9 @@ import org.apache.tomcat.util.res.StringManager;
/**
* Logs version information on startup.
+ * <p>
+ * This listener must only be nested within {@link Server} elements and should
+ * be the first listener defined.
*/
public class VersionLoggerListener implements LifecycleListener {
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index 896f490..0b768b4 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -143,6 +143,10 @@
the connection. Also add missing close when running into issues
getting the passord of a user. (remm)
</fix>
+ <docs>
+ Add Javadoc comment which listeners must be nested whithin
+ <code>Server</code> elements only. (michaelo)
+ </docs>
</changelog>
</subsection>
<subsection name="Coyote">
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]