summaryrefslogtreecommitdiff
path: root/java
diff options
context:
space:
mode:
authorRobert Godfrey <rgodfrey@apache.org>2014-01-08 22:05:25 +0000
committerRobert Godfrey <rgodfrey@apache.org>2014-01-08 22:05:25 +0000
commitd034ca66e36546025c7614be75b3ba4e7a9b24dc (patch)
treee1cd1f875d2ffec81ca19e9494c7a31c5aa1dd28 /java
parent8f8b2b17e34bf7a71159208ce838e76f0bef4247 (diff)
downloadqpid-python-d034ca66e36546025c7614be75b3ba4e7a9b24dc.tar.gz
QPID-5455 : Publishing non-transactional persistent messages should always be synchronous
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1556654 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java')
-rw-r--r--java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/MessageProducerImpl.java6
1 files changed, 3 insertions, 3 deletions
diff --git a/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/MessageProducerImpl.java b/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/MessageProducerImpl.java
index 94a0eebbb4..e459575974 100644
--- a/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/MessageProducerImpl.java
+++ b/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/MessageProducerImpl.java
@@ -301,8 +301,8 @@ public class MessageProducerImpl implements MessageProducer, QueueSender, TopicP
final org.apache.qpid.amqp_1_0.client.Message clientMessage = new org.apache.qpid.amqp_1_0.client.Message(msg.getSections());
DispositionAction action = null;
-
- if(_syncPublish)
+ final boolean doSync = _syncPublish || (deliveryMode == DeliveryMode.PERSISTENT && _session.getTxn() == null);
+ if(doSync)
{
action = new DispositionAction(_sender);
}
@@ -324,7 +324,7 @@ public class MessageProducerImpl implements MessageProducer, QueueSender, TopicP
throw jmsException;
}
- if(_syncPublish && !action.wasAccepted(_syncPublishTimeout))
+ if(doSync && !action.wasAccepted(_syncPublishTimeout))
{
if (action.getOutcome() instanceof Rejected)
{