Return-Path: Delivered-To: apmail-activemq-users-archive@www.apache.org Received: (qmail 67961 invoked from network); 19 Aug 2007 22:05:49 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 19 Aug 2007 22:05:49 -0000 Received: (qmail 39129 invoked by uid 500); 19 Aug 2007 22:05:45 -0000 Delivered-To: apmail-activemq-users-archive@activemq.apache.org Received: (qmail 39098 invoked by uid 500); 19 Aug 2007 22:05:45 -0000 Mailing-List: contact users-help@activemq.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: users@activemq.apache.org Delivered-To: mailing list users@activemq.apache.org Received: (qmail 39089 invoked by uid 99); 19 Aug 2007 22:05:45 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 19 Aug 2007 15:05:45 -0700 X-ASF-Spam-Status: No, hits=1.2 required=10.0 tests=SPF_NEUTRAL X-Spam-Check-By: apache.org Received-SPF: neutral (athena.apache.org: local policy) Received: from [64.233.182.187] (HELO nf-out-0910.google.com) (64.233.182.187) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 19 Aug 2007 22:05:44 +0000 Received: by nf-out-0910.google.com with SMTP id b21so499676nfd for ; Sun, 19 Aug 2007 15:05:21 -0700 (PDT) Received: by 10.78.190.10 with SMTP id n10mr1614228huf.1187561120387; Sun, 19 Aug 2007 15:05:20 -0700 (PDT) Received: by 10.78.171.4 with HTTP; Sun, 19 Aug 2007 15:05:20 -0700 (PDT) Message-ID: <28c3c9290708191505q6701001fkce7c9b309fe128c@mail.gmail.com> Date: Mon, 20 Aug 2007 00:05:20 +0200 From: "Mario Siegenthaler" To: users@activemq.apache.org Subject: JMSXGroupID and un-acked-messages MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline X-Virus-Checked: Checked by ClamAV on apache.org hi guys What's the expected behavior with messages that are not ack'ed (for example because the MessageListener throws an exception or the transaction is rolled back) and have a JMSXGroupID set? Say we've two messages A and B that belong to the same message group. 1) Processing of A fails. The consumer runs out of messages (until a call to recover) and enters a wait state. 2) Processing of A fails. The consumer receives B. The consumer is restarted or recover is called and it received A. This violates the message ordering within the message group! 3) Something I didn't think of :) The reason I'm asking is that we need to be absolutely sure that the message processing within one message group occurs strictly in the correct order, even if some messages have to be processed twice. Thanks Mario