You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ta...@apache.org on 2014/12/09 21:15:28 UTC

qpid-jms git commit: Add some notes on future work needed.

Repository: qpid-jms
Updated Branches:
  refs/heads/master c5ec1a549 -> 4e0c88fab


Add some notes on future work needed.

Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/4e0c88fa
Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/4e0c88fa
Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/4e0c88fa

Branch: refs/heads/master
Commit: 4e0c88faba730d1e2d66179c433fcd79cfe132a1
Parents: c5ec1a5
Author: Timothy Bish <ta...@gmail.com>
Authored: Tue Dec 9 15:15:13 2014 -0500
Committer: Timothy Bish <ta...@gmail.com>
Committed: Tue Dec 9 15:15:13 2014 -0500

----------------------------------------------------------------------
 .../main/java/org/apache/qpid/jms/JmsMessageConsumer.java | 10 ++++++++++
 1 file changed, 10 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/4e0c88fa/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 2d91542..c8a9703 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
@@ -326,8 +326,18 @@ public class JmsMessageConsumer implements MessageConsumer, JmsMessageAvailableC
                     JmsInboundMessageDispatch envelope;
                     while (session.isStarted() && (envelope = messageQueue.dequeueNoWait()) != null) {
                         try {
+                            // TODO - We are currently acking early.  We need to ack after onMessage
+                            //        with either a delivered or a consumed ack based on the session
+                            //        ack mode.  We also need to check for the message having been
+                            //        acked by message.acknowledge() in onMessage so we don't do a
+                            //        delivered ack following a real ack in the case of client ack
+                            //        mode or a future individual ack mode.
                             messageListener.onMessage(copy(ack(envelope)));
                         } catch (Exception e) {
+                            // TODO - We need to handle exception of on message with some other
+                            //        ack such as rejected and consider adding a redlivery policy
+                            //        to control when we might just poison the message with an ack
+                            //        of modified set to not deliverable here.
                             session.getConnection().onException(e);
                         }
                     }


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org