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/10/06 01:17:22 UTC

svn commit: r1179470 - /activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/util/TraceBrokerPathPlugin.java

Author: tabish
Date: Wed Oct  5 23:17:22 2011
New Revision: 1179470

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

Modified:
    activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/util/TraceBrokerPathPlugin.java

Modified: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/util/TraceBrokerPathPlugin.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/util/TraceBrokerPathPlugin.java?rev=1179470&r1=1179469&r2=1179470&view=diff
==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/util/TraceBrokerPathPlugin.java (original)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/util/TraceBrokerPathPlugin.java Wed Oct  5 23:17:22 2011
@@ -17,7 +17,6 @@
 package org.apache.activemq.broker.util;
 
 import java.io.IOException;
-import java.util.Map;
 
 import org.apache.activemq.broker.BrokerPluginSupport;
 import org.apache.activemq.command.MessageDispatch;
@@ -25,41 +24,44 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 /**
- * The TraceBrokerPathPlugin can be used in a network of Brokers. Each Broker 
- * that has the plugin configured, will add it's brokerName to the content 
- * of a JMS Property. If all Brokers have this property enabled, the path the 
+ * The TraceBrokerPathPlugin can be used in a network of Brokers. Each Broker
+ * that has the plugin configured, will add it's brokerName to the content
+ * of a JMS Property. If all Brokers have this property enabled, the path the
  * message actually took through the network can be seen in the defined property.
- * 
+ *
  * @org.apache.xbean.XBean element="traceBrokerPathPlugin"
- * 
- * 
+ *
  */
-
+@SuppressWarnings("unchecked")
 public class TraceBrokerPathPlugin extends BrokerPluginSupport {
 
-	private String stampProperty = "BrokerPath";
+    private String stampProperty = "BrokerPath";
     private static final Logger LOG = LoggerFactory.getLogger(TraceBrokerPathPlugin.class);
-	
-	public String getStampProperty() {
-		return stampProperty;
-	}
-
-	public void setStampProperty(String stampProperty) {
-		this.stampProperty = stampProperty;
-	}
-
-	public void preProcessDispatch(MessageDispatch messageDispatch) {
-		try {
-    		String brokerStamp = (String)messageDispatch.getMessage().getProperty(getStampProperty());
-    		if (brokerStamp == null) {
-    			brokerStamp = getBrokerName();
-    		} else {
-    			brokerStamp += "," + getBrokerName();
-    		}
-    		messageDispatch.getMessage().setProperty(getStampProperty(), brokerStamp);
-		} catch (IOException ioe) {
-			LOG.warn("Setting broker property failed " + ioe, ioe);
-		}
-		super.preProcessDispatch(messageDispatch);
-	}
+
+    public String getStampProperty() {
+        return stampProperty;
+    }
+
+    public void setStampProperty(String stampProperty) {
+        if (stampProperty != null && !stampProperty.isEmpty()) {
+            this.stampProperty = stampProperty;
+        }
+    }
+
+    public void preProcessDispatch(MessageDispatch messageDispatch) {
+        try {
+            if (messageDispatch != null && messageDispatch.getMessage() != null) {
+                String brokerStamp = (String)messageDispatch.getMessage().getProperty(getStampProperty());
+                if (brokerStamp == null) {
+                    brokerStamp = getBrokerName();
+                } else {
+                    brokerStamp += "," + getBrokerName();
+                }
+                messageDispatch.getMessage().setProperty(getStampProperty(), brokerStamp);
+            }
+        } catch (IOException ioe) {
+            LOG.warn("Setting broker property failed " + ioe, ioe);
+        }
+        super.preProcessDispatch(messageDispatch);
+    }
 }