You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by ta...@apache.org on 2011/05/31 20:36:44 UTC

svn commit: r1129835 - in /activemq/trunk/activemq-core/src: main/java/org/apache/activemq/broker/jmx/ManagedRegionBroker.java test/java/org/apache/activemq/broker/jmx/MBeanTest.java

Author: tabish
Date: Tue May 31 18:36:44 2011
New Revision: 1129835

URL: http://svn.apache.org/viewvc?rev=1129835&view=rev
Log:
fix for: https://issues.apache.org/jira/browse/AMQ-3337

Modified:
    activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/jmx/ManagedRegionBroker.java
    activemq/trunk/activemq-core/src/test/java/org/apache/activemq/broker/jmx/MBeanTest.java

Modified: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/jmx/ManagedRegionBroker.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/jmx/ManagedRegionBroker.java?rev=1129835&r1=1129834&r2=1129835&view=diff
==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/jmx/ManagedRegionBroker.java (original)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/jmx/ManagedRegionBroker.java Tue May 31 18:36:44 2011
@@ -348,19 +348,23 @@ public class ManagedRegionBroker extends
     }
 
     protected void registerProducer(ObjectName key, ActiveMQDestination dest, ProducerView view) throws Exception {
-        if (dest.isQueue()) {
-            if (dest.isTemporary()) {
-                temporaryQueueProducers.put(key, view);
-            } else {
-                queueProducers.put(key, view);
-            }
-        } else {
-            if (dest.isTemporary()) {
-                temporaryTopicProducers.put(key, view);
+
+        if (dest != null) {
+            if (dest.isQueue()) {
+                if (dest.isTemporary()) {
+                    temporaryQueueProducers.put(key, view);
+                } else {
+                    queueProducers.put(key, view);
+                }
             } else {
-                topicProducers.put(key, view);
+                if (dest.isTemporary()) {
+                    temporaryTopicProducers.put(key, view);
+                } else {
+                    topicProducers.put(key, view);
+                }
             }
         }
+
         try {
             AnnotatedMBean.registerMBean(managementContext, view, key);
             registeredMBeans.add(key);
@@ -499,7 +503,7 @@ public class ManagedRegionBroker extends
     }
 
     protected void addInactiveSubscription(SubscriptionKey key, SubscriptionInfo info) {
-        Hashtable map = brokerObjectName.getKeyPropertyList();
+        Hashtable<String, String> map = brokerObjectName.getKeyPropertyList();
         try {
             ObjectName objectName = new ObjectName(brokerObjectName.getDomain() + ":" + "BrokerName=" + map.get("BrokerName") + "," + "Type=Subscription," + "active=false,"
                                                    + "name=" + JMXSupport.encodeObjectNamePart(key.toString()) + "");
@@ -671,8 +675,17 @@ public class ManagedRegionBroker extends
         // Build the object name for the producer info
         Hashtable map = brokerObjectName.getKeyPropertyList();
 
-        String destinationType = "destinationType=" + producerInfo.getDestination().getDestinationTypeAsString();
-        String destinationName = "destinationName=" + JMXSupport.encodeObjectNamePart(producerInfo.getDestination().getPhysicalName());
+        String destinationType = "destinationType=";
+        String destinationName = "destinationName=";
+
+        if (producerInfo.getDestination() == null) {
+            destinationType += "NOTSET";
+            destinationName += "NOTSET";
+        } else {
+            destinationType += producerInfo.getDestination().getDestinationTypeAsString();
+            destinationName += JMXSupport.encodeObjectNamePart(producerInfo.getDestination().getPhysicalName());
+        }
+
         String clientId = "clientId=" + JMXSupport.encodeObjectNamePart(connectionClientId);
         String producerId = "producerId=" + JMXSupport.encodeObjectNamePart(producerInfo.getProducerId().toString());
 

Modified: activemq/trunk/activemq-core/src/test/java/org/apache/activemq/broker/jmx/MBeanTest.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/test/java/org/apache/activemq/broker/jmx/MBeanTest.java?rev=1129835&r1=1129834&r2=1129835&view=diff
==============================================================================
--- activemq/trunk/activemq-core/src/test/java/org/apache/activemq/broker/jmx/MBeanTest.java (original)
+++ activemq/trunk/activemq-core/src/test/java/org/apache/activemq/broker/jmx/MBeanTest.java Tue May 31 18:36:44 2011
@@ -613,6 +613,10 @@ public class MBeanTest extends EmbeddedB
         assertEquals("topic1 Producer count", 0, topic1.getProducerCount());
         assertEquals("topic2 Producer count", 0, topic2.getProducerCount());
 
+        MessageProducer producer4 = session.createProducer(null);
+        producer4.close();
+        Thread.sleep(500);
+
         assertEquals("broker Topic Producer count", 0, broker.getTopicProducers().length);
     }