summaryrefslogtreecommitdiff
path: root/qpid/java/common/templates
diff options
context:
space:
mode:
authorRobert Godfrey <rgodfrey@apache.org>2011-12-28 13:02:41 +0000
committerRobert Godfrey <rgodfrey@apache.org>2011-12-28 13:02:41 +0000
commit55ccbf149980b06c7b7effa36871ffbdf50550fa (patch)
treef5fc6181438968f82af0528c751af32ea8fef64e /qpid/java/common/templates
parentf085f3b0ce89af428e75bf2ae3b8c65ecdd16ad6 (diff)
downloadqpid-python-55ccbf149980b06c7b7effa36871ffbdf50550fa.tar.gz
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
Diffstat (limited to 'qpid/java/common/templates')
-rw-r--r--qpid/java/common/templates/method/version/MethodBodyClass.vm11
-rw-r--r--qpid/java/common/templates/model/MethodRegistryClass.vm4
-rw-r--r--qpid/java/common/templates/model/version/MethodRegistryClass.vm4
3 files changed, 10 insertions, 9 deletions
diff --git a/qpid/java/common/templates/method/version/MethodBodyClass.vm b/qpid/java/common/templates/method/version/MethodBodyClass.vm
index ce8a453eeb..0e444b87df 100644
--- a/qpid/java/common/templates/method/version/MethodBodyClass.vm
+++ b/qpid/java/common/templates/method/version/MethodBodyClass.vm
@@ -46,8 +46,9 @@
package org.apache.qpid.framing.amqp_$version.getMajor()_$version.getMinor();
-import java.io.DataInputStream;
-import java.io.DataOutputStream;
+import java.io.DataInput;
+import org.apache.qpid.codec.MarkableDataInput;
+import java.io.DataOutput;
import java.io.IOException;
import java.util.HashMap;
@@ -58,7 +59,7 @@ public class ${javaClassName} extends AMQMethodBody_$version.getMajor()_$version
{
private static final AMQMethodBodyInstanceFactory FACTORY_INSTANCE = new AMQMethodBodyInstanceFactory()
{
- public AMQMethodBody newInstance(DataInputStream in, long size) throws AMQFrameDecodingException, IOException
+ public AMQMethodBody newInstance(MarkableDataInput in, long size) throws AMQFrameDecodingException, IOException
{
return new ${javaClassName}(in);
}
@@ -86,7 +87,7 @@ public class ${javaClassName} extends AMQMethodBody_$version.getMajor()_$version
// Constructor
- public ${javaClassName}(DataInputStream buffer) throws AMQFrameDecodingException, IOException
+ public ${javaClassName}(MarkableDataInput buffer) throws AMQFrameDecodingException, IOException
{
#foreach( $field in $method.ConsolidatedFields )
_$field.Name = read$field.getEncodingType()( buffer );
@@ -171,7 +172,7 @@ public class ${javaClassName} extends AMQMethodBody_$version.getMajor()_$version
return size;
}
- public void writeMethodPayload(DataOutputStream buffer) throws IOException
+ public void writeMethodPayload(DataOutput buffer) throws IOException
{
#foreach( $field in $method.ConsolidatedFields )
write$field.getEncodingType()( buffer, _$field.Name );
diff --git a/qpid/java/common/templates/model/MethodRegistryClass.vm b/qpid/java/common/templates/model/MethodRegistryClass.vm
index 8258175ce7..f8a55f245a 100644
--- a/qpid/java/common/templates/model/MethodRegistryClass.vm
+++ b/qpid/java/common/templates/model/MethodRegistryClass.vm
@@ -30,10 +30,10 @@
package org.apache.qpid.framing;
-import java.io.DataInputStream;
import java.io.IOException;
import org.apache.qpid.framing.abstraction.ProtocolVersionMethodConverter;
+import org.apache.qpid.codec.MarkableDataInput;
import java.util.Map;
import java.util.HashMap;
@@ -54,7 +54,7 @@ public abstract class MethodRegistry
#end
- public abstract AMQMethodBody convertToBody(DataInputStream in, long size)
+ public abstract AMQMethodBody convertToBody(MarkableDataInput in, long size)
throws AMQFrameDecodingException, IOException;
public abstract int getMaxClassId();
diff --git a/qpid/java/common/templates/model/version/MethodRegistryClass.vm b/qpid/java/common/templates/model/version/MethodRegistryClass.vm
index 79553f7748..ab5db0ea38 100644
--- a/qpid/java/common/templates/model/version/MethodRegistryClass.vm
+++ b/qpid/java/common/templates/model/version/MethodRegistryClass.vm
@@ -35,10 +35,10 @@ import org.apache.qpid.protocol.AMQConstant;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.io.DataInputStream;
import java.io.IOException;
import org.apache.qpid.framing.abstraction.ProtocolVersionMethodConverter;
+import org.apache.qpid.codec.MarkableDataInput;
public class MethodRegistry_$version.getMajor()_$version.getMinor() extends MethodRegistry
@@ -87,7 +87,7 @@ public class MethodRegistry_$version.getMajor()_$version.getMinor() extends Meth
}
- public AMQMethodBody convertToBody(DataInputStream in, long size)
+ public AMQMethodBody convertToBody(MarkableDataInput in, long size)
throws AMQFrameDecodingException, IOException
{
int classId = in.readUnsignedShort();