From 48c533782ccf266d7dbad72686ae56be667e7fb8 Mon Sep 17 00:00:00 2001 From: Aidan Skinner Date: Thu, 7 Aug 2008 11:15:01 +0000 Subject: QPID-1218: Boost broker performance by lots. AMQMessage: Allow references to be incremented in a pile IncomingMessage: Increment message references in one go, flatten delivery loop a little. Make _destinationQueues an ArrayList, massively increasing performance. Iter ate through it with indexing AccessResult: don't use StringBuilder so much Update tests and exchanges to reflect new API usage, almost all of this is just type narrowing except for Topic where there's an extra copy, but it isn't too bad relative to the number of HashSet and HashMap operations that go on inside there. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@683583 13f79535-47bb-0310-9956-ffa450edef68 --- .../java/org/apache/qpid/server/queue/AMQQueueAlertTest.java | 6 +++++- .../java/org/apache/qpid/server/queue/AMQQueueMBeanTest.java | 11 ++++++++--- 2 files changed, 13 insertions(+), 4 deletions(-) (limited to 'java/broker/src/test') diff --git a/java/broker/src/test/java/org/apache/qpid/server/queue/AMQQueueAlertTest.java b/java/broker/src/test/java/org/apache/qpid/server/queue/AMQQueueAlertTest.java index ca614e053a..712d3abc8f 100644 --- a/java/broker/src/test/java/org/apache/qpid/server/queue/AMQQueueAlertTest.java +++ b/java/broker/src/test/java/org/apache/qpid/server/queue/AMQQueueAlertTest.java @@ -43,6 +43,8 @@ import org.apache.qpid.framing.abstraction.ContentChunk; import org.apache.mina.common.ByteBuffer; import javax.management.Notification; + +import java.util.ArrayList; import java.util.LinkedList; import java.util.Collections; @@ -304,7 +306,9 @@ public class AMQQueueAlertTest extends TestCase for (int i = 0; i < messages.length; i++) { messages[i] = message(false, size); - messages[i].enqueue(Collections.singleton(_queue)); + ArrayList qs = new ArrayList(); + qs.add(_queue); + messages[i].enqueue(qs); messages[i].routingComplete(_messageStore, new MessageHandleFactory()); } diff --git a/java/broker/src/test/java/org/apache/qpid/server/queue/AMQQueueMBeanTest.java b/java/broker/src/test/java/org/apache/qpid/server/queue/AMQQueueMBeanTest.java index bf0a8a6d90..17f8a751de 100644 --- a/java/broker/src/test/java/org/apache/qpid/server/queue/AMQQueueMBeanTest.java +++ b/java/broker/src/test/java/org/apache/qpid/server/queue/AMQQueueMBeanTest.java @@ -47,6 +47,8 @@ import org.apache.qpid.server.store.TestableMemoryMessageStore; import org.apache.mina.common.ByteBuffer; import javax.management.JMException; + +import java.util.ArrayList; import java.util.LinkedList; import java.util.Collections; @@ -216,8 +218,9 @@ public class AMQQueueMBeanTest extends TestCase IncomingMessage msg = message(false, false); long id = msg.getMessageId(); _queue.clearQueue(_storeContext); - - msg.enqueue(Collections.singleton(_queue)); + ArrayList qs = new ArrayList(); + qs.add(_queue); + msg.enqueue(qs); msg.routingComplete(_messageStore, new MessageHandleFactory()); msg.addContentBodyFrame(new ContentChunk() @@ -319,7 +322,9 @@ public class AMQQueueMBeanTest extends TestCase for (int i = 0; i < messageCount; i++) { IncomingMessage currentMessage = message(false, persistent); - currentMessage.enqueue(Collections.singleton(_queue)); + ArrayList qs = new ArrayList(); + qs.add(_queue); + currentMessage.enqueue(qs); // route header currentMessage.routingComplete(_messageStore, new MessageHandleFactory()); -- cgit v1.2.1