summaryrefslogtreecommitdiff
path: root/qpid/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
commit9a5e9e59763989f2e1ceb8e7bc32376a203bc0d9 (patch)
tree77ec1d60e28f2c56cd9d0617415f7abccfc1d1eb /qpid/java/broker-plugins
parentbdabd82ea49d500770cd680e97bdefcaeb3b48b4 (diff)
downloadqpid-python-9a5e9e59763989f2e1ceb8e7bc32376a203bc0d9.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@1621106 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/broker-plugins')
-rw-r--r--qpid/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/qpid/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/AMQChannel.java b/qpid/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/AMQChannel.java
index d1ec2e139e..f6ef4256d0 100644
--- a/qpid/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/AMQChannel.java
+++ b/qpid/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();
+ }
}
});
}