activemq-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From tab...@apache.org
Subject svn commit: r1340219 - in /activemq/trunk/activemq-core/src: main/java/org/apache/activemq/broker/util/TraceBrokerPathPlugin.java test/java/org/apache/activemq/broker/util/TraceBrokerPathPluginTest.java
Date Fri, 18 May 2012 19:30:26 GMT
Author: tabish
Date: Fri May 18 19:30:26 2012
New Revision: 1340219

URL: http://svn.apache.org/viewvc?rev=1340219&view=rev
Log:
Apply patch for: https://issues.apache.org/jira/browse/AMQ-3817

Added:
    activemq/trunk/activemq-core/src/test/java/org/apache/activemq/broker/util/TraceBrokerPathPluginTest.java
  (with props)
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=1340219&r1=1340218&r2=1340219&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
Fri May 18 19:30:26 2012
@@ -58,6 +58,7 @@ public class TraceBrokerPathPlugin exten
                     brokerStamp += "," + getBrokerName();
                 }
                 messageDispatch.getMessage().setProperty(getStampProperty(), brokerStamp);
+                messageDispatch.getMessage().setMarshalledProperties(null);
             }
         } catch (IOException ioe) {
             LOG.warn("Setting broker property failed " + ioe, ioe);

Added: activemq/trunk/activemq-core/src/test/java/org/apache/activemq/broker/util/TraceBrokerPathPluginTest.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/test/java/org/apache/activemq/broker/util/TraceBrokerPathPluginTest.java?rev=1340219&view=auto
==============================================================================
--- activemq/trunk/activemq-core/src/test/java/org/apache/activemq/broker/util/TraceBrokerPathPluginTest.java
(added)
+++ activemq/trunk/activemq-core/src/test/java/org/apache/activemq/broker/util/TraceBrokerPathPluginTest.java
Fri May 18 19:30:26 2012
@@ -0,0 +1,129 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * 
+ */
+package org.apache.activemq.broker.util;
+
+import javax.jms.Connection;
+import javax.jms.DeliveryMode;
+import javax.jms.Message;
+import javax.jms.MessageConsumer;
+import javax.jms.MessageProducer;
+import javax.jms.Session;
+
+import junit.framework.TestCase;
+
+import org.apache.activemq.ActiveMQConnectionFactory;
+import org.apache.activemq.broker.BrokerPlugin;
+import org.apache.activemq.broker.BrokerService;
+import org.apache.activemq.broker.TransportConnector;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+/**
+ * Tests TraceBrokerPathPlugin by creating two brokers linked by a network connector, and
checking to see if the consuming end receives the expected value in the trace property
+ * @author Raul Kripalani
+ *
+ */
+public class TraceBrokerPathPluginTest extends TestCase {
+
+	BrokerService brokerA;
+	BrokerService brokerB;
+	TransportConnector tcpConnectorA;
+	TransportConnector tcpConnectorB;
+	MessageProducer producer;
+	MessageConsumer consumer;
+	Connection connectionA;
+	Connection connectionB;
+	Session sessionA;
+	Session sessionB;
+	String queue = "TEST.FOO";
+	String traceProperty = "BROKER_PATH";
+	
+	@Before
+	public void setUp() throws Exception {
+		TraceBrokerPathPlugin tbppA = new TraceBrokerPathPlugin();
+		tbppA.setStampProperty(traceProperty);
+		
+		TraceBrokerPathPlugin tbppB = new TraceBrokerPathPlugin();
+		tbppB.setStampProperty(traceProperty);
+    	
+        brokerA = new BrokerService();
+        brokerA.setBrokerName("brokerA");
+        brokerA.setPersistent(false);
+        brokerA.setUseJmx(true);
+        brokerA.setPlugins(new BrokerPlugin[] {tbppA});
+        tcpConnectorA = brokerA.addConnector("tcp://localhost:0");
+
+        brokerB = new BrokerService();
+        brokerB.setBrokerName("brokerB");
+        brokerB.setPersistent(false);
+        brokerB.setUseJmx(true);
+        brokerB.setPlugins(new BrokerPlugin[] {tbppB});
+        tcpConnectorB = brokerB.addConnector("tcp://localhost:0");
+        
+        brokerA.addNetworkConnector("static:(" + tcpConnectorB.getConnectUri().toString()
+ ")");
+        
+        brokerB.start();
+        brokerB.waitUntilStarted();
+        brokerA.start();
+        brokerA.waitUntilStarted();
+        
+        // Initialise connection to A and MessageProducer
+        connectionA = new ActiveMQConnectionFactory(tcpConnectorA.getConnectUri()).createConnection();
+        connectionA.start();
+        sessionA = connectionA.createSession(false, Session.AUTO_ACKNOWLEDGE);
+        producer = sessionA.createProducer(sessionA.createQueue(queue));
+        producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
+        
+        // Initialise connection to B and MessageConsumer
+        connectionB = new ActiveMQConnectionFactory(tcpConnectorB.getConnectUri()).createConnection();
+        connectionB.start();
+        sessionB = connectionB.createSession(false, Session.AUTO_ACKNOWLEDGE);
+        consumer = sessionB.createConsumer(sessionB.createQueue(queue));
+        
+	}
+	
+	@After
+	public void tearDown() throws Exception {
+	     // Clean up
+        producer.close();
+        consumer.close();
+        sessionA.close();
+        sessionB.close();
+        connectionA.close();
+        connectionB.close();
+        brokerA.stop();
+        brokerB.stop();
+	}
+	
+	@Test
+    public void testTraceBrokerPathPlugin() throws Exception {
+        Message sentMessage = sessionA.createMessage();
+        producer.send(sentMessage);
+        Message receivedMessage = consumer.receive(1000);
+
+        // assert we got the message
+        assertNotNull(receivedMessage);
+        
+        // assert we got the same message ID we sent
+        assertEquals(sentMessage.getJMSMessageID(), receivedMessage.getJMSMessageID());
+        
+        assertEquals("brokerA,brokerB", receivedMessage.getStringProperty(traceProperty));
+        
+	}
+}

Propchange: activemq/trunk/activemq-core/src/test/java/org/apache/activemq/broker/util/TraceBrokerPathPluginTest.java
------------------------------------------------------------------------------
    svn:eol-style = native



Mime
View raw message