From 55ccbf149980b06c7b7effa36871ffbdf50550fa Mon Sep 17 00:00:00 2001 From: Robert Godfrey Date: Wed, 28 Dec 2011 13:02:41 +0000 Subject: QPID-3714 : [Java] Performance Improvements Persistence: Store message in same transaction as enqueue if possible Memory: Remove unnecessary (un)boxing Reduce unnecessary copying of message data Cache short strings Cache queues for a given routing key on an Exchange (0-9) Use a fixed size buffer for preparing frames to write out Other: Reduce calls to System.currentTimeMillis (0-10) Special case immutable RangeSets, in particular RangeSets of a single range/point (0-10) Special case delivery properties and message properties in headers (0-9) send commit-ok as soon as data committed to store Cache publishing access control queries (0-9) Optimised long and int typed values for FieldTables (0-9) Retain FieldTable encoded form (0-9) Cache queue and topic destinations git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1225178 13f79535-47bb-0310-9956-ffa450edef68 --- .../apache/qpid/client/BasicMessageConsumer_0_8_Test.java | 15 +++++++++------ .../org/apache/qpid/test/unit/message/TestAMQSession.java | 11 +++-------- 2 files changed, 12 insertions(+), 14 deletions(-) (limited to 'qpid/java/client/src/test') diff --git a/qpid/java/client/src/test/java/org/apache/qpid/client/BasicMessageConsumer_0_8_Test.java b/qpid/java/client/src/test/java/org/apache/qpid/client/BasicMessageConsumer_0_8_Test.java index d8d94ba40e..02089cc382 100644 --- a/qpid/java/client/src/test/java/org/apache/qpid/client/BasicMessageConsumer_0_8_Test.java +++ b/qpid/java/client/src/test/java/org/apache/qpid/client/BasicMessageConsumer_0_8_Test.java @@ -46,8 +46,9 @@ public class BasicMessageConsumer_0_8_Test extends TestCase AMQBindingURL burl = new AMQBindingURL(url); AMQDestination queue = new AMQQueue(burl); - AMQSession testSession = new TestAMQSession(conn); - BasicMessageConsumer_0_8 consumer = new BasicMessageConsumer_0_8(0, conn, queue, "", false, null, testSession, null, null, 10, 5, false, Session.SESSION_TRANSACTED, false, false); + TestAMQSession testSession = new TestAMQSession(conn); + BasicMessageConsumer_0_8 consumer = + new BasicMessageConsumer_0_8(0, conn, queue, "", false, null, testSession, null, null, 10, 5, false, Session.SESSION_TRANSACTED, false, false); assertEquals("Reject behaviour was was not as expected", RejectBehaviour.SERVER, consumer.getRejectBehaviour()); } @@ -65,8 +66,9 @@ public class BasicMessageConsumer_0_8_Test extends TestCase final AMQBindingURL burl = new AMQBindingURL(url); final AMQDestination queue = new AMQQueue(burl); - final AMQSession testSession = new TestAMQSession(conn); - final BasicMessageConsumer_0_8 consumer = new BasicMessageConsumer_0_8(0, conn, queue, "", false, null, testSession, null, null, 10, 5, false, Session.SESSION_TRANSACTED, false, false); + final TestAMQSession testSession = new TestAMQSession(conn); + final BasicMessageConsumer_0_8 consumer = + new BasicMessageConsumer_0_8(0, conn, queue, "", false, null, testSession, null, null, 10, 5, false, Session.SESSION_TRANSACTED, false, false); assertEquals("Reject behaviour was was not as expected", RejectBehaviour.NORMAL, consumer.getRejectBehaviour()); } @@ -90,8 +92,9 @@ public class BasicMessageConsumer_0_8_Test extends TestCase assertNull("Reject behaviour should have been null", queue.getRejectBehaviour()); - AMQSession testSession = new TestAMQSession(conn); - BasicMessageConsumer_0_8 consumer = new BasicMessageConsumer_0_8(0, conn, queue, "", false, null, testSession, null, null, 10, 5, false, Session.SESSION_TRANSACTED, false, false); + TestAMQSession testSession = new TestAMQSession(conn); + BasicMessageConsumer_0_8 consumer = + new BasicMessageConsumer_0_8(0, conn, queue, "", false, null, testSession, null, null, 10, 5, false, Session.SESSION_TRANSACTED, false, false); assertEquals("Reject behaviour was was not as expected", RejectBehaviour.NORMAL, consumer.getRejectBehaviour()); } diff --git a/qpid/java/client/src/test/java/org/apache/qpid/test/unit/message/TestAMQSession.java b/qpid/java/client/src/test/java/org/apache/qpid/test/unit/message/TestAMQSession.java index 06d0f4a3f9..4c3e9c2390 100644 --- a/qpid/java/client/src/test/java/org/apache/qpid/test/unit/message/TestAMQSession.java +++ b/qpid/java/client/src/test/java/org/apache/qpid/test/unit/message/TestAMQSession.java @@ -29,12 +29,7 @@ import javax.jms.Topic; import javax.jms.TopicSubscriber; import org.apache.qpid.AMQException; -import org.apache.qpid.client.AMQConnection; -import org.apache.qpid.client.AMQDestination; -import org.apache.qpid.client.AMQSession; -import org.apache.qpid.client.BasicMessageConsumer_0_8; -import org.apache.qpid.client.BasicMessageProducer_0_8; -import org.apache.qpid.client.MockAMQConnection; +import org.apache.qpid.client.*; import org.apache.qpid.client.failover.FailoverException; import org.apache.qpid.client.message.AMQMessageDelegateFactory; import org.apache.qpid.client.protocol.AMQProtocolHandler; @@ -42,7 +37,7 @@ import org.apache.qpid.filter.MessageFilter; import org.apache.qpid.framing.AMQShortString; import org.apache.qpid.framing.FieldTable; -public class TestAMQSession extends AMQSession +public class TestAMQSession extends AMQSession_0_8 { public TestAMQSession(AMQConnection connection) @@ -92,7 +87,7 @@ public class TestAMQSession extends AMQSession