Author: rgodfrey
Date: Mon Oct 27 19:02:01 2014
New Revision: 1634645
URL: http://svn.apache.org/r1634645
Log:
QPID-6190 : [Java Broker] [AMQP 1.0] Fix transactional sending to
QueueDestination
Modified:
qpid/trunk/qpid/java/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/QueueDestination.java
Modified:
qpid/trunk/qpid/java/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/QueueDestination.java
URL:
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/QueueDestination.java?rev=1634645&r1=1634644&r2=1634645&view=diff
==============================================================================
---
qpid/trunk/qpid/java/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/QueueDestination.java
(original)
+++
qpid/trunk/qpid/java/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/QueueDestination.java
Mon Oct 27 19:02:01 2014
@@ -21,12 +21,11 @@
package org.apache.qpid.server.protocol.v1_0;
import org.apache.log4j.Logger;
+
import org.apache.qpid.amqp_1_0.type.Outcome;
import org.apache.qpid.amqp_1_0.type.messaging.Accepted;
-
-import org.apache.qpid.server.message.MessageSource;
+import org.apache.qpid.server.message.MessageReference;
import org.apache.qpid.server.queue.AMQQueue;
-
import org.apache.qpid.server.txn.ServerTransaction;
public class QueueDestination extends MessageSourceDestination implements
SendingDestination, ReceivingDestination
@@ -51,16 +50,24 @@ public class QueueDestination extends Me
txn.enqueue(getQueue(),message, new ServerTransaction.Action()
{
+ MessageReference _reference = message.newReference();
public void postCommit()
{
- getQueue().enqueue(message,null);
+ try
+ {
+ getQueue().enqueue(message, null);
+ }
+ finally
+ {
+ _reference.release();
+ }
}
public void onRollback()
{
- // NO-OP
+ _reference.release();
}
});
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]