This is an automated email from the ASF dual-hosted git repository.

rmaucher pushed a commit to branch 11.0.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git


The following commit(s) were added to refs/heads/11.0.x by this push:
     new 6371ac45e2 Add type check already present elsewhere
6371ac45e2 is described below

commit 6371ac45e27f17203112fc0f3cddc9c1075a439e
Author: remm <[email protected]>
AuthorDate: Fri May 22 11:22:56 2026 +0200

    Add type check already present elsewhere
    
    Add FIXMEs for possible JMX cleanup.
---
 .../apache/catalina/mbeans/GlobalResourcesLifecycleListener.java  | 1 +
 java/org/apache/catalina/mbeans/MBeanFactory.java                 | 8 +++++---
 java/org/apache/catalina/mbeans/MBeanUtils.java                   | 2 ++
 3 files changed, 8 insertions(+), 3 deletions(-)

diff --git 
a/java/org/apache/catalina/mbeans/GlobalResourcesLifecycleListener.java 
b/java/org/apache/catalina/mbeans/GlobalResourcesLifecycleListener.java
index c95926fd1a..16bc43fc30 100644
--- a/java/org/apache/catalina/mbeans/GlobalResourcesLifecycleListener.java
+++ b/java/org/apache/catalina/mbeans/GlobalResourcesLifecycleListener.java
@@ -238,5 +238,6 @@ public class GlobalResourcesLifecycleListener implements 
LifecycleListener {
         if (log.isTraceEnabled()) {
             log.trace("Destroying MBeans for Global JNDI Resources");
         }
+        // FIXME: Implement removing MBeans
     }
 }
diff --git a/java/org/apache/catalina/mbeans/MBeanFactory.java 
b/java/org/apache/catalina/mbeans/MBeanFactory.java
index 78de9f0b78..f77689ad34 100644
--- a/java/org/apache/catalina/mbeans/MBeanFactory.java
+++ b/java/org/apache/catalina/mbeans/MBeanFactory.java
@@ -843,9 +843,11 @@ public class MBeanFactory {
         Container container = getParentContainerFromChild(oname);
         Valve[] valves = container.getPipeline().getValves();
         for (Valve valve : valves) {
-            ObjectName voname = ((JmxEnabled) valve).getObjectName();
-            if (voname.equals(oname)) {
-                container.getPipeline().removeValve(valve);
+            if (valve instanceof JmxEnabled) {
+                ObjectName voname = ((JmxEnabled) valve).getObjectName();
+                if (voname.equals(oname)) {
+                    container.getPipeline().removeValve(valve);
+                }
             }
         }
     }
diff --git a/java/org/apache/catalina/mbeans/MBeanUtils.java 
b/java/org/apache/catalina/mbeans/MBeanUtils.java
index 1180216ae9..979c72937f 100644
--- a/java/org/apache/catalina/mbeans/MBeanUtils.java
+++ b/java/org/apache/catalina/mbeans/MBeanUtils.java
@@ -723,6 +723,8 @@ public class MBeanUtils {
      */
     static void destroyMBeanUserDatabase(String userDatabase) throws Exception 
{
 
+        // FIXME: UserDatabase MBean management could be improved
+
         ObjectName query;
         Set<ObjectName> results;
 


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to