diff options
author | Rafael H. Schloming <rhs@apache.org> | 2008-06-09 19:26:59 +0000 |
---|---|---|
committer | Rafael H. Schloming <rhs@apache.org> | 2008-06-09 19:26:59 +0000 |
commit | 7df7f79a8a05a64b6f70d64202f628bce21f8d42 (patch) | |
tree | a98c95682c62b721312cd59169e0bbf529b5d3ff | |
parent | 09d52f0d2c4eee01a29dd068cbc31415db9d9c83 (diff) | |
download | qpid-python-7df7f79a8a05a64b6f70d64202f628bce21f8d42.tar.gz |
QPID-901: always reset the auto-sync mode even if the call fails
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@665841 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r-- | qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession_0_10.java | 10 | ||||
-rw-r--r-- | qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageProducer_0_10.java | 20 |
2 files changed, 21 insertions, 9 deletions
diff --git a/qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession_0_10.java b/qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession_0_10.java index ab1db4933f..fdfdc61eb5 100644 --- a/qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession_0_10.java +++ b/qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession_0_10.java @@ -221,8 +221,14 @@ public class AMQSession_0_10 extends AMQSession public void sendCommit() throws AMQException, FailoverException { getQpidSession().setAutoSync(true); - getQpidSession().txCommit(); - getQpidSession().setAutoSync(false); + try + { + getQpidSession().txCommit(); + } + finally + { + getQpidSession().setAutoSync(false); + } // We need to sync so that we get notify of an error. getCurrentException(); } 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 0702a52783..5eb066ec36 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 @@ -212,17 +212,23 @@ public class BasicMessageProducer_0_10 extends BasicMessageProducer boolean sync = (deliveryMode == DeliveryMode.PERSISTENT && getSession().getAMQConnection().getSyncPersistence()); - if(sync) + if (sync) { ssn.setAutoSync(true); } - ssn.messageTransfer(destination.getExchangeName().toString(), - message.get010Message(), - ssn.TRANSFER_CONFIRM_MODE_NOT_REQUIRED, - ssn.TRANSFER_ACQUIRE_MODE_PRE_ACQUIRE); - if (sync) + try + { + ssn.messageTransfer(destination.getExchangeName().toString(), + message.get010Message(), + ssn.TRANSFER_CONFIRM_MODE_NOT_REQUIRED, + ssn.TRANSFER_ACQUIRE_MODE_PRE_ACQUIRE); + } + finally { - ssn.setAutoSync(false); + if (sync) + { + ssn.setAutoSync(false); + } } } catch (IOException e) |