dont begin the next transaction before releasing the prefetched messages
Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/7c8f8e1c Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/7c8f8e1c Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/7c8f8e1c Branch: refs/heads/master Commit: 7c8f8e1cb064e84b01b7b2c780c6e809bcf9b3b0 Parents: 0fdc8e5 Author: Robert Gemmell <[email protected]> Authored: Fri Dec 5 14:25:49 2014 +0000 Committer: Robert Gemmell <[email protected]> Committed: Fri Dec 5 14:49:05 2014 +0000 ---------------------------------------------------------------------- .../src/main/java/org/apache/qpid/jms/JmsMessageConsumer.java | 6 +++--- .../src/main/java/org/apache/qpid/jms/JmsSession.java | 7 +++++-- 2 files changed, 8 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/7c8f8e1c/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsMessageConsumer.java ---------------------------------------------------------------------- diff --git a/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsMessageConsumer.java b/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsMessageConsumer.java index fd01545..2d91542 100644 --- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsMessageConsumer.java +++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsMessageConsumer.java @@ -266,7 +266,7 @@ public class JmsMessageConsumer implements MessageConsumer, JmsMessageAvailableC private void doAckConsumed(final JmsInboundMessageDispatch envelope) throws JMSException { checkClosed(); try { - session.acknowledge(envelope, ACK_TYPE.CONSUMED); + session.acknowledge(envelope, ACK_TYPE.CONSUMED, true); } catch (JMSException ex) { session.onException(ex); throw ex; @@ -275,7 +275,7 @@ public class JmsMessageConsumer implements MessageConsumer, JmsMessageAvailableC private void doAckDelivered(final JmsInboundMessageDispatch envelope) throws JMSException { try { - session.acknowledge(envelope, ACK_TYPE.DELIVERED); + session.acknowledge(envelope, ACK_TYPE.DELIVERED, true); } catch (JMSException ex) { session.onException(ex); throw ex; @@ -284,7 +284,7 @@ public class JmsMessageConsumer implements MessageConsumer, JmsMessageAvailableC private void doAckReleased(final JmsInboundMessageDispatch envelope) throws JMSException { try { - session.acknowledge(envelope, ACK_TYPE.RELEASED); + session.acknowledge(envelope, ACK_TYPE.RELEASED, false); } catch (JMSException ex) { session.onException(ex); throw ex; http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/7c8f8e1c/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsSession.java ---------------------------------------------------------------------- diff --git a/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsSession.java b/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsSession.java index 107e3cf..7a01147 100644 --- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsSession.java +++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsSession.java @@ -689,8 +689,11 @@ public class JmsSession implements Session, QueueSession, TopicSession, JmsMessa } } - void acknowledge(JmsInboundMessageDispatch envelope, ACK_TYPE ackType) throws JMSException { - startNextTransaction(); + void acknowledge(JmsInboundMessageDispatch envelope, ACK_TYPE ackType, boolean startNextTransaction) throws JMSException { + if(startNextTransaction) { + startNextTransaction(); + } + this.connection.acknowledge(envelope, ackType); } --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
