Author: markt Date: Sat Apr 12 20:49:37 2014 New Revision: 1586897 URL: http://svn.apache.org/r1586897 Log: Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=56369 Ensure that removing an MBean notification listener reverts all the operations performed when adding an MBean notification listener.
Modified: tomcat/tc7.0.x/trunk/ (props changed) tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/modeler/BaseModelMBean.java tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Propchange: tomcat/tc7.0.x/trunk/ ------------------------------------------------------------------------------ Merged /tomcat/trunk:r1586894 Modified: tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/modeler/BaseModelMBean.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/modeler/BaseModelMBean.java?rev=1586897&r1=1586896&r2=1586897&view=diff ============================================================================== --- tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/modeler/BaseModelMBean.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/modeler/BaseModelMBean.java Sat Apr 12 20:49:37 2014 @@ -883,12 +883,15 @@ public class BaseModelMBean implements D if (listener == null) throw new IllegalArgumentException("Listener is null"); - if (generalBroadcaster == null) - generalBroadcaster = new BaseNotificationBroadcaster(); - generalBroadcaster.removeNotificationListener(listener); + if (generalBroadcaster != null) { + generalBroadcaster.removeNotificationListener(listener); + } - } + if (attributeBroadcaster != null) { + attributeBroadcaster.removeNotificationListener(listener); + } + } /** Modified: tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml?rev=1586897&r1=1586896&r2=1586897&view=diff ============================================================================== --- tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml (original) +++ tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Sat Apr 12 20:49:37 2014 @@ -78,6 +78,11 @@ <code>session.invalidate()</code> from the session destroyed event for that session. (markt) </fix> + <fix> + <bug>56369</bug>: Ensure that removing an MBean notification listener + reverts all the operations performed when adding an MBean notification + listener. (markt) + </fix> </changelog> </subsection> <subsection name="Jasper"> --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org