You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by ni...@apache.org on 2007/04/02 08:38:47 UTC
svn commit: r524733 -
/incubator/cxf/trunk/rt/management/src/main/java/org/apache/cxf/management/jmx/InstrumentationManagerImpl.java
Author: ningjiang
Date: Sun Apr 1 23:38:46 2007
New Revision: 524733
URL: http://svn.apache.org/viewvc?view=rev&rev=524733
Log:
Changed the InstrumentationManagerImpl to avoid avoid the CurrentModificationException when bus shutdown
Modified:
incubator/cxf/trunk/rt/management/src/main/java/org/apache/cxf/management/jmx/InstrumentationManagerImpl.java
Modified: incubator/cxf/trunk/rt/management/src/main/java/org/apache/cxf/management/jmx/InstrumentationManagerImpl.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/management/src/main/java/org/apache/cxf/management/jmx/InstrumentationManagerImpl.java?view=diff&rev=524733&r1=524732&r2=524733
==============================================================================
--- incubator/cxf/trunk/rt/management/src/main/java/org/apache/cxf/management/jmx/InstrumentationManagerImpl.java (original)
+++ incubator/cxf/trunk/rt/management/src/main/java/org/apache/cxf/management/jmx/InstrumentationManagerImpl.java Sun Apr 1 23:38:46 2007
@@ -21,7 +21,6 @@
import java.io.IOException;
import java.util.HashSet;
-import java.util.Iterator;
import java.util.List;
import java.util.Set;
import java.util.logging.Level;
@@ -197,14 +196,15 @@
public void preShutdown() {
}
-
+
+
public void postShutdown() {
- Iterator<ObjectName> it = busMBeans.iterator();
- while (it.hasNext()) {
- ObjectName name = it.next();
- it.remove();
+ //Using the array to hold the busMBeans to avoid the CurrentModification exception
+ Object[] mBeans = busMBeans.toArray();
+ for (Object name : mBeans) {
+ busMBeans.remove((ObjectName)name);
try {
- unregister(name);
+ unregister((ObjectName)name);
} catch (JMException jmex) {
LOG.log(Level.SEVERE, "UNREGISTER_FAILURE_MSG", new Object[]{name, jmex});
}