Repository: qpid-jms Updated Branches: refs/heads/master 52e02b692 -> a83589eac
only set the message format property when using the transformer proces that needs it Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/05b73e48 Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/05b73e48 Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/05b73e48 Branch: refs/heads/master Commit: 05b73e484c746c39d57b953e640ea0ade23736a8 Parents: a1bcdbb Author: Robert Gemmell <rob...@apache.org> Authored: Mon Sep 29 12:03:22 2014 +0100 Committer: Robert Gemmell <rob...@apache.org> Committed: Mon Sep 29 17:09:37 2014 +0100 ---------------------------------------------------------------------- .../qpid/jms/provider/amqp/AmqpFixedProducer.java | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/05b73e48/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpFixedProducer.java ---------------------------------------------------------------------- diff --git a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpFixedProducer.java b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpFixedProducer.java index 020b12f..4271fc9 100644 --- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpFixedProducer.java +++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpFixedProducer.java @@ -131,20 +131,11 @@ public class AmqpFixedProducer extends AmqpProducer { JmsMessage message = envelope.getMessage(); message.setReadOnlyBody(true); - // TODO: why do we need this? - // Possibly because AMQP spec "2.7.5 Transfer" says message format MUST be set on at least - // the first Transfer frame of a message. That is on the encoded Transfer frames though and - // this property isn't, but rather within the application-properties map. We should probably - // ensure this elsewhere (appears Proton does so itself in TransportImpl#processTransportWorkSender) - if (!message.getProperties().containsKey(MESSAGE_FORMAT_KEY)) { - message.setProperty(MESSAGE_FORMAT_KEY, 0); - } - if (facade instanceof AmqpJmsMessageFacade) { AmqpJmsMessageFacade amqpMessage = (AmqpJmsMessageFacade) facade; encodeAndSend(amqpMessage.getAmqpMessage(), delivery); } else { - encodeAndSend(envelope.getMessage(), delivery); + encodeAndSendTransformed(envelope.getMessage(), delivery); } if (presettle) { @@ -186,7 +177,7 @@ public class AmqpFixedProducer extends AmqpProducer { } } - private void encodeAndSend(JmsMessage message, Delivery delivery) throws IOException { + private void encodeAndSendTransformed(JmsMessage message, Delivery delivery) throws IOException, JMSException { byte[] sendBuffer = null; int sendBufferSize = 0; @@ -194,6 +185,11 @@ public class AmqpFixedProducer extends AmqpProducer { EncodedMessage amqp = null; + // Needed by the transformer process. + if (!message.getProperties().containsKey(MESSAGE_FORMAT_KEY)) { + message.setProperty(MESSAGE_FORMAT_KEY, 0); + } + try { amqp = outboundTransformer.transform(message); } catch (Exception e) { --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org For additional commands, e-mail: commits-h...@qpid.apache.org