summaryrefslogtreecommitdiff
path: root/qpid/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
commit8562fa7dde6762a1fa03a7f4e14aecf1d45cb2df (patch)
tree8a866169099b5ca90debb2b7607752f54ce55d5a /qpid/java
parent8a52bc7caed02465fd9dad7fd4924929cad22598 (diff)
downloadqpid-python-8562fa7dde6762a1fa03a7f4e14aecf1d45cb2df.tar.gz
QPID-5455 : Publishing non-transactional persistent messages should always be synchronous
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1556654 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java')
-rw-r--r--qpid/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/qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/MessageProducerImpl.java b/qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/MessageProducerImpl.java
index 94a0eebbb4..e459575974 100644
--- a/qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/MessageProducerImpl.java
+++ b/qpid/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)
{