summaryrefslogtreecommitdiff
path: root/java/broker/src/main
diff options
context:
space:
mode:
authorRobert Godfrey <rgodfrey@apache.org>2007-04-05 16:37:40 +0000
committerRobert Godfrey <rgodfrey@apache.org>2007-04-05 16:37:40 +0000
commita153c3431ab54bc7f25e9129b70c73d7220a41d0 (patch)
treed2f5d87d9f1e67b81eb2330f64cee25cc5672f14 /java/broker/src/main
parent70036a3ac7d3380d559a95921b1092c81e2c23cd (diff)
downloadqpid-python-a153c3431ab54bc7f25e9129b70c73d7220a41d0.tar.gz
QPID-443 : Fix to transactionality of message publishing
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/M2@525862 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/broker/src/main')
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/txn/LocalTransactionalContext.java8
1 files changed, 7 insertions, 1 deletions
diff --git a/java/broker/src/main/java/org/apache/qpid/server/txn/LocalTransactionalContext.java b/java/broker/src/main/java/org/apache/qpid/server/txn/LocalTransactionalContext.java
index 451ff14adf..74cd2a3fc1 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/txn/LocalTransactionalContext.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/txn/LocalTransactionalContext.java
@@ -89,6 +89,11 @@ public class LocalTransactionalContext implements TransactionalContext
public void rollback() throws AMQException
{
_txnBuffer.rollback(_storeContext);
+ // Hack to deal with uncommitted non-transactional writes
+ if(_messageStore.inTran(_storeContext))
+ {
+ _messageStore.abortTran(_storeContext);
+ }
_postCommitDeliveryList.clear();
}
@@ -103,6 +108,7 @@ public class LocalTransactionalContext implements TransactionalContext
// message.incrementReference();
_postCommitDeliveryList.add(new DeliveryDetails(message, queue, deliverFirst));
_messageDelivered = true;
+ _txnBuffer.enlist(new CleanupMessageOperation(message, _returnMessages));
/*_txnBuffer.enlist(new DeliverMessageOperation(message, queue));
if (_log.isDebugEnabled())
{
@@ -111,7 +117,7 @@ public class LocalTransactionalContext implements TransactionalContext
}
message.incrementReference();
_messageDelivered = true;
- _txnBuffer.enlist(new CleanupMessageOperation(message, _returnMessages));
+
*/
}