summaryrefslogtreecommitdiff
path: root/java/broker-plugins
diff options
context:
space:
mode:
authorAlex Rudyy <orudyy@apache.org>2014-08-28 09:43:27 +0000
committerAlex Rudyy <orudyy@apache.org>2014-08-28 09:43:27 +0000
commit0708609933fd2f546bc53e2b4eaa01a5bc709d3a (patch)
tree8f60b21a9c543793a8895ee68145bfb9f57ff612 /java/broker-plugins
parent3a0cf16c2cdba92e334ba4d23b1e42bb8f8c2095 (diff)
downloadqpid-python-0708609933fd2f546bc53e2b4eaa01a5bc709d3a.tar.gz
QPID-6051: Fix handling of exceptions thrown from post commit or deferred actions on transaction commit
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1621106 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/broker-plugins')
-rw-r--r--java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/AMQChannel.java14
1 files changed, 10 insertions, 4 deletions
diff --git a/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/AMQChannel.java b/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/AMQChannel.java
index d1ec2e139e..f6ef4256d0 100644
--- a/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/AMQChannel.java
+++ b/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/AMQChannel.java
@@ -1109,10 +1109,16 @@ public class AMQChannel<T extends AMQProtocolSession<T>>
@Override
public void run()
{
- immediateAction.run();
- _txnCommits.incrementAndGet();
- _txnStarts.incrementAndGet();
- decrementOutstandingTxnsIfNecessary();
+ try
+ {
+ immediateAction.run();
+ }
+ finally
+ {
+ _txnCommits.incrementAndGet();
+ _txnStarts.incrementAndGet();
+ decrementOutstandingTxnsIfNecessary();
+ }
}
});
}