summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageProducer_0_10.java13
1 files changed, 10 insertions, 3 deletions
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 c6baf0b0fc..0e166ed4c8 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
@@ -22,6 +22,7 @@ import java.net.URISyntaxException;
import javax.jms.JMSException;
import javax.jms.Message;
+import javax.jms.DeliveryMode;
import org.apache.qpid.client.message.AbstractJMSMessage;
import org.apache.qpid.client.message.FiledTableSupport;
@@ -186,9 +187,15 @@ public class BasicMessageProducer_0_10 extends BasicMessageProducer
try
{
((AMQSession_0_10) getSession()).getQpidSession().messageTransfer(destination.getExchangeName().toString(),
- message.get010Message(),
- org.apache.qpidity.nclient.Session.TRANSFER_CONFIRM_MODE_NOT_REQUIRED,
- org.apache.qpidity.nclient.Session.TRANSFER_ACQUIRE_MODE_PRE_ACQUIRE);
+ message.get010Message(),
+ org.apache.qpidity.nclient.Session.TRANSFER_CONFIRM_MODE_NOT_REQUIRED,
+ org.apache.qpidity.nclient.Session.TRANSFER_ACQUIRE_MODE_PRE_ACQUIRE);
+ if(deliveryMode == DeliveryMode.PERSISTENT && ClientProperties.FULLY_SYNC )
+ {
+ // we need to sync the delivery of this message
+ ((AMQSession_0_10) getSession()).getQpidSession().sync();
+ }
+
}
catch (IOException e)
{