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

Reply via email to