You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by "Julian Sedding (Jira)" <ji...@apache.org> on 2026/06/24 14:39:00 UTC
[jira] [Updated] (SLING-13251) MBean registration in ServletFilterManager fails for factory components
[ https://issues.apache.org/jira/browse/SLING-13251?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Julian Sedding updated SLING-13251:
-----------------------------------
Affects Version/s: Engine 3.0.2
(was: Engine 2.16.8)
> MBean registration in ServletFilterManager fails for factory components
> -----------------------------------------------------------------------
>
> Key: SLING-13251
> URL: https://issues.apache.org/jira/browse/SLING-13251
> Project: Sling
> Issue Type: Bug
> Components: Engine
> Affects Versions: Engine 3.0.2
> Reporter: Julian Sedding
> Assignee: Julian Sedding
> Priority: Minor
> Fix For: Engine 3.0.4
>
>
> When multiple servlet {{Filter}} components are registered via factory configurations, JMX MBean registration fails with an {{InstanceAlreadyExistsException}} (see below).
> This happens, because the MBean name is derived from the {{component.name}} property before the {{service.pid}} property. The {{component.name}} is the same for multiple configurations of the same component, while the {{service.pid}} reflects the factory configuration's {{name}} in addition to the {{component.name}}.
> E.g.
> {{service.pid}}: com.adobe.cq.wcm.core.components.internal.servlets.TableOfContentsFilter~commons
> {{component.name}}: com.adobe.cq.wcm.core.components.internal.servlets.TableOfContentsFilter
> Preferring the {{service.pid}}, if present, should resolve this issue.
> {noformat}
> 2026-06-16 11:56:22.096 ERROR [SlingServletContext-registration] org.apache.aries.jmx.whiteboard.MBeanHolder register: Failure registering MBean org.apache.sling.engine.impl.filter.FilterProcessorMBeanImpl@4333330f
> javax.management.InstanceAlreadyExistsException: org.apache.sling:type=engine-filter,service=com.adobe.cq.wcm.core.components.internal.servlets.TableOfContentsFilter
> at java.management/com.sun.jmx.mbeanserver.Repository.addMBean(Repository.java:322)
> at java.management/com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerWithRepository(DefaultMBeanServerInterceptor.java:1848)
> at java.management/com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerDynamicMBean(DefaultMBeanServerInterceptor.java:945)
> at java.management/com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerObject(DefaultMBeanServerInterceptor.java:880)
> at java.management/com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(DefaultMBeanServerInterceptor.java:315)
> at java.management/com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean(JmxMBeanServer.java:523)
> at org.apache.aries.jmx.whiteboard.MBeanHolder.register(MBeanHolder.java:114) [org.apache.aries.jmx.whiteboard:1.2.0]
> at org.apache.aries.jmx.whiteboard.JmxWhiteboardSupport.registerMBean(JmxWhiteboardSupport.java:88) [org.apache.aries.jmx.whiteboard:1.2.0]
> at org.apache.aries.jmx.whiteboard.Activator$MBeanTracker.addingService(Activator.java:102) [org.apache.aries.jmx.whiteboard:1.2.0]
> at org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:944)
> at org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:872)
> at org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256)
> at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:229)
> at org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:904)
> at org.apache.felix.framework.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:990)
> at org.apache.felix.framework.EventDispatcher.fireEventImmediately(EventDispatcher.java:838)
> at org.apache.felix.framework.EventDispatcher.fireServiceEvent(EventDispatcher.java:545)
> at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:4863)
> at org.apache.felix.framework.Felix.registerService(Felix.java:3834)
> at org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:328)
> at org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:335)
> at org.apache.sling.engine.impl.filter.ServletFilterManager.initFilter(ServletFilterManager.java:170) [org.apache.sling.engine:2.16.6]
> at org.apache.sling.engine.impl.filter.ServletFilterManager.bindFilter(ServletFilterManager.java:135) [org.apache.sling.engine:2.16.6]
> [...]
> {noformat}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)