From 6d576169fc9a161f72f7d7f83848f47fbac7da6b Mon Sep 17 00:00:00 2001 From: Robert Godfrey Date: Sat, 16 Aug 2014 21:53:39 +0000 Subject: QPID-6000 : Tidy up remove unused static, and use utility gzip mechanism git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1618418 13f79535-47bb-0310-9956-ffa450edef68 --- .../qpid/client/BasicMessageProducer_0_10.java | 10 +++--- .../qpid/client/BasicMessageProducer_0_8.java | 37 ++++++---------------- 2 files changed, 14 insertions(+), 33 deletions(-) (limited to 'qpid/java/client') diff --git a/qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageProducer_0_10.java b/qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageProducer_0_10.java index 8ce3d662d4..eb8104b02c 100644 --- a/qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageProducer_0_10.java +++ b/qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageProducer_0_10.java @@ -58,9 +58,6 @@ import org.apache.qpid.util.Strings; public class BasicMessageProducer_0_10 extends BasicMessageProducer { - // TODO - move and add properties to change this - private static final int MESSAGE_COMPRESSION_THRESHOLD_SIZE = 4096; - private static final Logger _logger = LoggerFactory.getLogger(BasicMessageProducer_0_10.class); private byte[] userIDBytes; @@ -211,8 +208,11 @@ public class BasicMessageProducer_0_10 extends BasicMessageProducer ByteBuffer data = message.getData(); - if(data.remaining() > getConnection().getMessageCompressionThresholdSize() && getConnection().getDelegate().isMessageCompressionSupported() - && getConnection().isMessageCompressionDesired() && messageProps.getContentEncoding() == null) + if(data != null + && data.remaining() > getConnection().getMessageCompressionThresholdSize() + && getConnection().getDelegate().isMessageCompressionSupported() + && getConnection().isMessageCompressionDesired() + && messageProps.getContentEncoding() == null) { byte[] compressed = GZIPUtils.compressBufferToArray(data); if(compressed != null) diff --git a/qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageProducer_0_8.java b/qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageProducer_0_8.java index fedb8e088c..355c456249 100644 --- a/qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageProducer_0_8.java +++ b/qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageProducer_0_8.java @@ -20,11 +20,8 @@ */ package org.apache.qpid.client; -import java.io.ByteArrayOutputStream; -import java.io.IOException; import java.nio.ByteBuffer; import java.util.UUID; -import java.util.zip.GZIPOutputStream; import javax.jms.JMSException; import javax.jms.Message; @@ -47,6 +44,7 @@ import org.apache.qpid.framing.ContentBody; import org.apache.qpid.framing.ContentHeaderBody; import org.apache.qpid.framing.ExchangeDeclareBody; import org.apache.qpid.framing.MethodRegistry; +import org.apache.qpid.util.GZIPUtils; public class BasicMessageProducer_0_8 extends BasicMessageProducer { @@ -152,34 +150,17 @@ public class BasicMessageProducer_0_8 extends BasicMessageProducer int size = (payload != null) ? payload.remaining() : 0; - if(size > getConnection().getMessageCompressionThresholdSize() && getConnection().getDelegate().isMessageCompressionSupported() - && getConnection().isMessageCompressionDesired() && contentHeaderProperties.getEncoding() == null) + byte[] compressed; + if(size > getConnection().getMessageCompressionThresholdSize() + && getConnection().getDelegate().isMessageCompressionSupported() + && getConnection().isMessageCompressionDesired() + && contentHeaderProperties.getEncoding() == null + && (compressed = GZIPUtils.compressBufferToArray(payload)) != null) { contentHeaderProperties.setEncoding("gzip"); - try(ByteArrayOutputStream compressedOutputBuffer = new ByteArrayOutputStream(size / 2)) - { - try (GZIPOutputStream output = new GZIPOutputStream(compressedOutputBuffer)) - { - if(payload.hasArray()) - { - output.write(payload.array(),payload.position()+payload.arrayOffset(),payload.remaining()); - } - else - { - byte[] tmp = new byte[size]; - payload.get(tmp); - output.write(tmp); - } - } + payload = ByteBuffer.wrap(compressed); + size = compressed.length; - byte[] compressedData = compressedOutputBuffer.toByteArray(); - payload = ByteBuffer.wrap(compressedData); - size = compressedData.length; - } - catch (IOException e) - { - // TODO - shouldn't happen - } } final int contentBodyFrameCount = calculateContentBodyFrameCount(payload); final AMQFrame[] frames = new AMQFrame[2 + contentBodyFrameCount]; -- cgit v1.2.1