You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by bv...@apache.org on 2012/11/05 21:09:25 UTC

svn commit: r1405932 - in /camel/trunk/components/camel-quickfix/src: main/java/org/apache/camel/component/quickfixj/QuickfixjEngine.java test/java/org/apache/camel/component/quickfixj/QuickfixjEngineTest.java

Author: bvahdat
Date: Mon Nov  5 20:09:25 2012
New Revision: 1405932

URL: http://svn.apache.org/viewvc?rev=1405932&view=rev
Log:
CAMEL-5751: While stopping the QuickfixjEngine unregister the Connector MBean in the same way we do for the Initiator. Thanks to Christoph John providing this hint at http://www.quickfixj.org/jira/browse/QFJ-713. Also removed skipping the assert by QuickfixjEngineTest to see if this fixes the failing assert issue we're facing under JDK 7.

Modified:
    camel/trunk/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjEngine.java
    camel/trunk/components/camel-quickfix/src/test/java/org/apache/camel/component/quickfixj/QuickfixjEngineTest.java

Modified: camel/trunk/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjEngine.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjEngine.java?rev=1405932&r1=1405931&r2=1405932&view=diff
==============================================================================
--- camel/trunk/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjEngine.java (original)
+++ camel/trunk/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjEngine.java Mon Nov  5 20:09:25 2012
@@ -96,6 +96,7 @@ public class QuickfixjEngine extends Ser
     private final MessageCorrelator messageCorrelator = new MessageCorrelator();
     private List<QuickfixjEventListener> eventListeners = new CopyOnWriteArrayList<QuickfixjEventListener>();
     private final String uri;
+    private ObjectName acceptorObjectName;
     private ObjectName initiatorObjectName;
 
     public enum ThreadModel {
@@ -222,7 +223,7 @@ public class QuickfixjEngine extends Ser
         if (acceptor != null) {
             acceptor.start();
             if (jmxExporter != null) {
-                jmxExporter.register(acceptor);
+                acceptorObjectName = jmxExporter.register(acceptor);
             }
         }
         if (initiator != null) {
@@ -237,6 +238,10 @@ public class QuickfixjEngine extends Ser
     protected void doStop() throws Exception {
         if (acceptor != null) {
             acceptor.stop();
+
+            if (jmxExporter != null && acceptorObjectName != null) {
+                jmxExporter.getMBeanServer().unregisterMBean(acceptorObjectName);
+            }
         }
         if (initiator != null) {
             initiator.stop();

Modified: camel/trunk/components/camel-quickfix/src/test/java/org/apache/camel/component/quickfixj/QuickfixjEngineTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-quickfix/src/test/java/org/apache/camel/component/quickfixj/QuickfixjEngineTest.java?rev=1405932&r1=1405931&r2=1405932&view=diff
==============================================================================
--- camel/trunk/components/camel-quickfix/src/test/java/org/apache/camel/component/quickfixj/QuickfixjEngineTest.java (original)
+++ camel/trunk/components/camel-quickfix/src/test/java/org/apache/camel/component/quickfixj/QuickfixjEngineTest.java Mon Nov  5 20:09:25 2012
@@ -564,14 +564,9 @@ public class QuickfixjEngineTest extends
         assertThat(quickfixjEngine.getLogFactory(), instanceOf(ScreenLogFactory.class));
         assertThat(quickfixjEngine.getMessageFactory(), instanceOf(DefaultMessageFactory.class));
 
-        if (isJava17()) {
-            // TODO: just from time to time the assert below fails on JDK 7
-            return;
-        }
-
         MBeanServer mbeanServer = ManagementFactory.getPlatformMBeanServer();
-        Set<ObjectName> names = mbeanServer.queryNames(new ObjectName("org.quickfixj:type=Connector,role=Acceptor,*"), null);
-        assertTrue("QFJ mbean should not have been registered", names.isEmpty());
+        Set<ObjectName> names = mbeanServer.queryNames(new ObjectName("org.quickfixj:*"), null);
+        assertTrue("QFJ Connector/Initiator mbeans should not have been registered", names.isEmpty());
     }
 
     private void writeSettings() throws IOException {